{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Lab 3 - Network Intrusion Detection\n",
    "- Daniel Vance\n",
    "- Peter Thung\n",
    "- Ravi Srinivas\n",
    "- Randy Balzer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Business Understanding"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Daniel"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*Describe the purpose of the data set you selected. How will you measure the effectiveness of a good algorithm? Why does your chosen validation method make sense for this specific data set and the stakeholders' needs?*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Understanding"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Daniel"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- *Describe the meaning and type of data (scale, values, etc.) for each attribute in the data file. Verify data quality: Are there missing values? Duplicate data? Outliers? Are those mistakes? How do you deal with these problems?*\n",
    "- *Visualize the any important attributes appropriately. Important: Provide an interpretation for any charts or graphs.*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n",
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\grid_search.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. This module will be removed in 0.20.\n",
      "  DeprecationWarning)\n",
      "C:\\Anaconda\\lib\\site-packages\\matplotlib\\__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n",
      "  warnings.warn(self.msg_depr % (key, alt_key))\n"
     ]
    }
   ],
   "source": [
    "# Setup\n",
    "# Imports\n",
    "from matplotlib import pyplot as plt\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.cross_validation import ShuffleSplit\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.cross_validation import StratifiedKFold\n",
    "from sklearn.grid_search import GridSearchCV\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.metrics import roc_curve, auc\n",
    "from sklearn import metrics as mt\n",
    "from sklearn.svm import SVC\n",
    "\n",
    "from sklearn.pipeline import FeatureUnion\n",
    "from sklearn.feature_selection import SelectKBest\n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "\n",
    "from sklearn import cross_validation\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "from sklearn.naive_bayes import GaussianNB\n",
    "\n",
    "from sklearn.decomposition import RandomizedPCA \n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn import preprocessing\n",
    "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA\n",
    "\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn import metrics as mt\n",
    "\n",
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Number of unique attack categories', 10)\n",
      "duplicate record deleted successfully: 82328 observations remaining\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 82328 entries, 0 to 82331\n",
      "Data columns (total 6 columns):\n",
      "sttl                82328 non-null int64\n",
      "ct_dst_sport_ltm    82328 non-null int64\n",
      "ct_src_dport_ltm    82328 non-null int64\n",
      "swin                82328 non-null int64\n",
      "dwin                82328 non-null int64\n",
      "label               82328 non-null int64\n",
      "dtypes: int64(6)\n",
      "memory usage: 4.4 MB\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sttl</th>\n",
       "      <th>ct_dst_sport_ltm</th>\n",
       "      <th>ct_src_dport_ltm</th>\n",
       "      <th>swin</th>\n",
       "      <th>dwin</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>82328.000000</td>\n",
       "      <td>82328.000000</td>\n",
       "      <td>82328.000000</td>\n",
       "      <td>82328.000000</td>\n",
       "      <td>82328.000000</td>\n",
       "      <td>82328.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>180.973448</td>\n",
       "      <td>3.663092</td>\n",
       "      <td>4.929040</td>\n",
       "      <td>133.453175</td>\n",
       "      <td>128.280464</td>\n",
       "      <td>0.550578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>101.512436</td>\n",
       "      <td>5.915518</td>\n",
       "      <td>8.389724</td>\n",
       "      <td>127.357276</td>\n",
       "      <td>127.491408</td>\n",
       "      <td>0.497438</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>62.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>254.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>254.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>255.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               sttl  ct_dst_sport_ltm  ct_src_dport_ltm          swin  \\\n",
       "count  82328.000000      82328.000000      82328.000000  82328.000000   \n",
       "mean     180.973448          3.663092          4.929040    133.453175   \n",
       "std      101.512436          5.915518          8.389724    127.357276   \n",
       "min        0.000000          1.000000          1.000000      0.000000   \n",
       "25%       62.000000          1.000000          1.000000      0.000000   \n",
       "50%      254.000000          1.000000          1.000000    255.000000   \n",
       "75%      254.000000          3.000000          4.000000    255.000000   \n",
       "max      255.000000         38.000000         59.000000    255.000000   \n",
       "\n",
       "               dwin         label  \n",
       "count  82328.000000  82328.000000  \n",
       "mean     128.280464      0.550578  \n",
       "std      127.491408      0.497438  \n",
       "min        0.000000      0.000000  \n",
       "25%        0.000000      0.000000  \n",
       "50%      255.000000      1.000000  \n",
       "75%      255.000000      1.000000  \n",
       "max      255.000000      1.000000  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load UNSW_NB15 into a Pandas dataframe\n",
    "df = pd.read_csv('UNSW_NB15_training_set.csv', encoding='utf-8-sig')\n",
    "# Grab out the count of number of unique values in the attack_cat variable prior to removing it\n",
    "# to use as a potential K value for Kmeans clustering algorithm\n",
    "\n",
    "attack_cat = df.attack_cat.unique()\n",
    "attack_cat_count = len(attack_cat)\n",
    "print(\"Number of unique attack categories\", attack_cat_count)\n",
    "# Lets remove attributes that are not useful to us during this first analysis pass\n",
    "non_useful_features_list = ['id', 'attack_cat']\n",
    "# id: n internal variable to just ref an obseration. deemed not usefl\n",
    "# attack_cat: first try and just predict the label. \n",
    "#             It will obviously 1:1 correlate with label\n",
    "#             We can circle back and swap it out with label \n",
    "#             to see if we get any better accuracy on an \n",
    "#             on an attack type level\n",
    "for feature in non_useful_features_list:\n",
    "    if feature in df:\n",
    "        df.drop(feature, axis=1, inplace=True)  # Lets drop id as it is an internal variable to just ref an obseratio\n",
    "        \n",
    "# Overwrite the existing dataframe with the new dataframe that does not contain the \n",
    "# four unwanted records and confirm we have 4 less records (shold have 82328 observations)\n",
    "if \"is_ftp_login\" in df:\n",
    "    df = df[df.is_ftp_login != 2]\n",
    "    if len(df) == 82328:\n",
    "        print \"duplicate record deleted successfully: \" + str(len(df)) + \" observations remaining\" \n",
    "# Check to see if non useful features still exist in dataframe, if so, we did something wrong\n",
    "for feature in non_useful_features_list:\n",
    "    if feature in df:\n",
    "        print \"[\" + feature + \"]\" + \"still found, check removal code. (Should not see this)\"      \n",
    "\n",
    "df_five = df[['sttl','ct_dst_sport_ltm', 'ct_src_dport_ltm', 'swin', 'dwin', 'label' ]] \n",
    "\n",
    "df_five.info()\n",
    "df_five.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preparation:¶\n",
    "Define and prepare your class variables. Use proper variable representations (int, float, one-hot, etc.). Use pre-processing methods (as needed) for dimensionality reduction, scaling, etc. Remove variables that are not needed/useful for the analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 82328 entries, 0 to 82331\n",
      "Columns: 191 entries, dur to state_RST\n",
      "dtypes: float64(162), int64(29)\n",
      "memory usage: 120.6 MB\n"
     ]
    }
   ],
   "source": [
    "# One-hot encode our object features:\n",
    "\n",
    "# http://stackoverflow.com/questions/19482970/get-list-from-pandas-dataframe-column-headers\n",
    "# Surrounding code in try/except on case where there are no object type features to one-hot encode\n",
    "try:\n",
    "    tmp_df = df.describe(include=['O'])  # creates a temporary df with just categorical features that are of object type\n",
    "    categorical_object_col_name_list = tmp_df.columns.values.tolist()\n",
    "    for col_name in categorical_object_col_name_list:\n",
    "        #print col_name\n",
    "        tmp_df = pd.get_dummies(df[col_name], prefix=col_name)\n",
    "        df = pd.concat((df,tmp_df), axis=1)\n",
    "        df.drop(col_name, axis=1, inplace=True)  # go ahead and drop original feature as it has now been one-hot encoded\n",
    "except ValueError as e:\n",
    "    print \"Value error({0}): \".format(e)  # Note\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 82328 entries, 0 to 82331\n",
      "Columns: 191 entries, dur to state_RST\n",
      "dtypes: float64(162), int64(29)\n",
      "memory usage: 120.6 MB\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 412 entries, 75732 to 36688\n",
      "Columns: 190 entries, dur to state_RST\n",
      "dtypes: float64(162), int64(28)\n",
      "memory usage: 614.8 KB\n"
     ]
    }
   ],
   "source": [
    "# Go ahead and drop both 'label' \n",
    "dfcopy = df.copy(deep=True) # preserve original dataframe that has our dependent variable\n",
    "dfcopy.info()\n",
    "#http://pandas.pydata.org/pandas-docs/version/0.18.1/generated/pandas.DataFrame.sample.html\n",
    "dfCopyHalf = dfcopy.sample(frac=.005)\n",
    "dfcopy = dfCopyHalf\n",
    "# we want to predict the X and y data as follows:\n",
    "if 'label' in dfcopy:\n",
    "    y = dfcopy['label'].values # get the labels we want\n",
    "    del dfcopy['label'] # get rid of the class label\n",
    "    X = dfcopy.values # use everything else to cluster!\n",
    "dfcopy.info() # should have 190 featurers, ~40k entries\n",
    "#http://pandas.pydata.org/pandas-docs/version/0.18.1/generated/pandas.DataFrame.sample.html\n",
    "\n",
    "    # X and y are now numpy matrices, by calling 'values' on the pandas data frames we\n",
    "    # have converted them into simple matrices to use with scikit learn\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>dur</th>\n",
       "      <th>spkts</th>\n",
       "      <th>dpkts</th>\n",
       "      <th>sbytes</th>\n",
       "      <th>dbytes</th>\n",
       "      <th>rate</th>\n",
       "      <th>sttl</th>\n",
       "      <th>dttl</th>\n",
       "      <th>sload</th>\n",
       "      <th>dload</th>\n",
       "      <th>sloss</th>\n",
       "      <th>dloss</th>\n",
       "      <th>sinpkt</th>\n",
       "      <th>dinpkt</th>\n",
       "      <th>sjit</th>\n",
       "      <th>djit</th>\n",
       "      <th>swin</th>\n",
       "      <th>stcpb</th>\n",
       "      <th>dtcpb</th>\n",
       "      <th>dwin</th>\n",
       "      <th>tcprtt</th>\n",
       "      <th>synack</th>\n",
       "      <th>ackdat</th>\n",
       "      <th>smean</th>\n",
       "      <th>dmean</th>\n",
       "      <th>trans_depth</th>\n",
       "      <th>response_body_len</th>\n",
       "      <th>ct_srv_src</th>\n",
       "      <th>ct_state_ttl</th>\n",
       "      <th>ct_dst_ltm</th>\n",
       "      <th>ct_src_dport_ltm</th>\n",
       "      <th>ct_dst_sport_ltm</th>\n",
       "      <th>ct_dst_src_ltm</th>\n",
       "      <th>is_ftp_login</th>\n",
       "      <th>ct_ftp_cmd</th>\n",
       "      <th>ct_flw_http_mthd</th>\n",
       "      <th>ct_src_ltm</th>\n",
       "      <th>ct_srv_dst</th>\n",
       "      <th>is_sm_ips_ports</th>\n",
       "      <th>proto_3pc</th>\n",
       "      <th>proto_a/n</th>\n",
       "      <th>proto_aes-sp3-d</th>\n",
       "      <th>proto_any</th>\n",
       "      <th>proto_argus</th>\n",
       "      <th>proto_aris</th>\n",
       "      <th>proto_arp</th>\n",
       "      <th>proto_ax.25</th>\n",
       "      <th>proto_bbn-rcc</th>\n",
       "      <th>proto_bna</th>\n",
       "      <th>proto_br-sat-mon</th>\n",
       "      <th>proto_cbt</th>\n",
       "      <th>proto_cftp</th>\n",
       "      <th>proto_chaos</th>\n",
       "      <th>proto_compaq-peer</th>\n",
       "      <th>proto_cphb</th>\n",
       "      <th>proto_cpnx</th>\n",
       "      <th>proto_crtp</th>\n",
       "      <th>proto_crudp</th>\n",
       "      <th>proto_dcn</th>\n",
       "      <th>proto_ddp</th>\n",
       "      <th>proto_ddx</th>\n",
       "      <th>proto_dgp</th>\n",
       "      <th>proto_egp</th>\n",
       "      <th>proto_eigrp</th>\n",
       "      <th>proto_emcon</th>\n",
       "      <th>proto_encap</th>\n",
       "      <th>proto_etherip</th>\n",
       "      <th>proto_fc</th>\n",
       "      <th>proto_fire</th>\n",
       "      <th>proto_ggp</th>\n",
       "      <th>proto_gmtp</th>\n",
       "      <th>proto_gre</th>\n",
       "      <th>proto_hmp</th>\n",
       "      <th>proto_i-nlsp</th>\n",
       "      <th>proto_iatp</th>\n",
       "      <th>proto_ib</th>\n",
       "      <th>proto_idpr</th>\n",
       "      <th>proto_idpr-cmtp</th>\n",
       "      <th>proto_idrp</th>\n",
       "      <th>proto_ifmp</th>\n",
       "      <th>proto_igmp</th>\n",
       "      <th>proto_igp</th>\n",
       "      <th>proto_il</th>\n",
       "      <th>proto_ip</th>\n",
       "      <th>proto_ipcomp</th>\n",
       "      <th>proto_ipcv</th>\n",
       "      <th>proto_ipip</th>\n",
       "      <th>proto_iplt</th>\n",
       "      <th>proto_ipnip</th>\n",
       "      <th>proto_ippc</th>\n",
       "      <th>proto_ipv6</th>\n",
       "      <th>proto_ipv6-frag</th>\n",
       "      <th>proto_ipv6-no</th>\n",
       "      <th>proto_ipv6-opts</th>\n",
       "      <th>proto_ipv6-route</th>\n",
       "      <th>proto_ipx-n-ip</th>\n",
       "      <th>proto_irtp</th>\n",
       "      <th>proto_isis</th>\n",
       "      <th>proto_iso-ip</th>\n",
       "      <th>proto_iso-tp4</th>\n",
       "      <th>proto_kryptolan</th>\n",
       "      <th>proto_l2tp</th>\n",
       "      <th>proto_larp</th>\n",
       "      <th>proto_leaf-1</th>\n",
       "      <th>proto_leaf-2</th>\n",
       "      <th>proto_merit-inp</th>\n",
       "      <th>proto_mfe-nsp</th>\n",
       "      <th>proto_mhrp</th>\n",
       "      <th>proto_micp</th>\n",
       "      <th>proto_mobile</th>\n",
       "      <th>proto_mtp</th>\n",
       "      <th>proto_mux</th>\n",
       "      <th>proto_narp</th>\n",
       "      <th>proto_netblt</th>\n",
       "      <th>proto_nsfnet-igp</th>\n",
       "      <th>proto_nvp</th>\n",
       "      <th>proto_ospf</th>\n",
       "      <th>proto_pgm</th>\n",
       "      <th>proto_pim</th>\n",
       "      <th>proto_pipe</th>\n",
       "      <th>proto_pnni</th>\n",
       "      <th>proto_pri-enc</th>\n",
       "      <th>proto_prm</th>\n",
       "      <th>proto_ptp</th>\n",
       "      <th>proto_pup</th>\n",
       "      <th>proto_pvp</th>\n",
       "      <th>proto_qnx</th>\n",
       "      <th>proto_rdp</th>\n",
       "      <th>proto_rsvp</th>\n",
       "      <th>proto_rvd</th>\n",
       "      <th>proto_sat-expak</th>\n",
       "      <th>proto_sat-mon</th>\n",
       "      <th>proto_sccopmce</th>\n",
       "      <th>proto_scps</th>\n",
       "      <th>proto_sctp</th>\n",
       "      <th>proto_sdrp</th>\n",
       "      <th>proto_secure-vmtp</th>\n",
       "      <th>proto_sep</th>\n",
       "      <th>proto_skip</th>\n",
       "      <th>proto_sm</th>\n",
       "      <th>proto_smp</th>\n",
       "      <th>proto_snp</th>\n",
       "      <th>proto_sprite-rpc</th>\n",
       "      <th>proto_sps</th>\n",
       "      <th>proto_srp</th>\n",
       "      <th>proto_st2</th>\n",
       "      <th>proto_stp</th>\n",
       "      <th>proto_sun-nd</th>\n",
       "      <th>proto_swipe</th>\n",
       "      <th>proto_tcf</th>\n",
       "      <th>proto_tcp</th>\n",
       "      <th>proto_tlsp</th>\n",
       "      <th>proto_tp++</th>\n",
       "      <th>proto_trunk-1</th>\n",
       "      <th>proto_trunk-2</th>\n",
       "      <th>proto_ttp</th>\n",
       "      <th>proto_udp</th>\n",
       "      <th>proto_unas</th>\n",
       "      <th>proto_uti</th>\n",
       "      <th>proto_vines</th>\n",
       "      <th>proto_visa</th>\n",
       "      <th>proto_vmtp</th>\n",
       "      <th>proto_vrrp</th>\n",
       "      <th>proto_wb-expak</th>\n",
       "      <th>proto_wb-mon</th>\n",
       "      <th>proto_wsn</th>\n",
       "      <th>proto_xnet</th>\n",
       "      <th>proto_xns-idp</th>\n",
       "      <th>proto_xtp</th>\n",
       "      <th>proto_zero</th>\n",
       "      <th>service_-</th>\n",
       "      <th>service_dhcp</th>\n",
       "      <th>service_dns</th>\n",
       "      <th>service_ftp</th>\n",
       "      <th>service_ftp-data</th>\n",
       "      <th>service_http</th>\n",
       "      <th>service_irc</th>\n",
       "      <th>service_pop3</th>\n",
       "      <th>service_radius</th>\n",
       "      <th>service_smtp</th>\n",
       "      <th>service_snmp</th>\n",
       "      <th>service_ssh</th>\n",
       "      <th>service_ssl</th>\n",
       "      <th>state_ACC</th>\n",
       "      <th>state_CLO</th>\n",
       "      <th>state_CON</th>\n",
       "      <th>state_FIN</th>\n",
       "      <th>state_INT</th>\n",
       "      <th>state_REQ</th>\n",
       "      <th>state_RST</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>4.120000e+02</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>4.120000e+02</td>\n",
       "      <td>4.120000e+02</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412.000000</td>\n",
       "      <td>412</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1.200363</td>\n",
       "      <td>14.050971</td>\n",
       "      <td>12.111650</td>\n",
       "      <td>4045.847087</td>\n",
       "      <td>6380.211165</td>\n",
       "      <td>92791.877394</td>\n",
       "      <td>186.271845</td>\n",
       "      <td>88.279126</td>\n",
       "      <td>8.846707e+07</td>\n",
       "      <td>710021.587289</td>\n",
       "      <td>3.070388</td>\n",
       "      <td>3.963592</td>\n",
       "      <td>1010.636794</td>\n",
       "      <td>276.499301</td>\n",
       "      <td>8769.830136</td>\n",
       "      <td>601.734191</td>\n",
       "      <td>131.213592</td>\n",
       "      <td>1.107123e+09</td>\n",
       "      <td>1.026359e+09</td>\n",
       "      <td>123.786408</td>\n",
       "      <td>0.050587</td>\n",
       "      <td>0.026940</td>\n",
       "      <td>0.023646</td>\n",
       "      <td>152.944175</td>\n",
       "      <td>106.796117</td>\n",
       "      <td>0.104369</td>\n",
       "      <td>1452.286408</td>\n",
       "      <td>9.565534</td>\n",
       "      <td>1.432039</td>\n",
       "      <td>5.594660</td>\n",
       "      <td>4.859223</td>\n",
       "      <td>3.665049</td>\n",
       "      <td>7.487864</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.138350</td>\n",
       "      <td>6.274272</td>\n",
       "      <td>9.196602</td>\n",
       "      <td>0.012136</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.016990</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.004854</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.009709</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.007282</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.514563</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.339806</td>\n",
       "      <td>0.046117</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.599515</td>\n",
       "      <td>0</td>\n",
       "      <td>0.242718</td>\n",
       "      <td>0.009709</td>\n",
       "      <td>0.009709</td>\n",
       "      <td>0.101942</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0.031553</td>\n",
       "      <td>0</td>\n",
       "      <td>0.002427</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.058252</td>\n",
       "      <td>0.468447</td>\n",
       "      <td>0.439320</td>\n",
       "      <td>0.033981</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>5.596233</td>\n",
       "      <td>33.823930</td>\n",
       "      <td>46.768022</td>\n",
       "      <td>20188.995865</td>\n",
       "      <td>55040.205260</td>\n",
       "      <td>154649.380923</td>\n",
       "      <td>100.357967</td>\n",
       "      <td>114.966185</td>\n",
       "      <td>2.405202e+08</td>\n",
       "      <td>2645886.721239</td>\n",
       "      <td>8.901319</td>\n",
       "      <td>20.917429</td>\n",
       "      <td>7049.303608</td>\n",
       "      <td>2672.761947</td>\n",
       "      <td>67130.897432</td>\n",
       "      <td>2773.689644</td>\n",
       "      <td>127.600857</td>\n",
       "      <td>1.452500e+09</td>\n",
       "      <td>1.352470e+09</td>\n",
       "      <td>127.600857</td>\n",
       "      <td>0.100773</td>\n",
       "      <td>0.056060</td>\n",
       "      <td>0.047581</td>\n",
       "      <td>237.357685</td>\n",
       "      <td>223.432724</td>\n",
       "      <td>0.306110</td>\n",
       "      <td>25868.164663</td>\n",
       "      <td>10.864486</td>\n",
       "      <td>1.151638</td>\n",
       "      <td>8.339118</td>\n",
       "      <td>8.364249</td>\n",
       "      <td>5.853395</td>\n",
       "      <td>11.171407</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.594202</td>\n",
       "      <td>8.489582</td>\n",
       "      <td>10.833744</td>\n",
       "      <td>0.109626</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.129392</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.069588</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.098173</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.085124</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.500396</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.474219</td>\n",
       "      <td>0.209992</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.490593</td>\n",
       "      <td>0</td>\n",
       "      <td>0.429248</td>\n",
       "      <td>0.098173</td>\n",
       "      <td>0.098173</td>\n",
       "      <td>0.302940</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0.175020</td>\n",
       "      <td>0</td>\n",
       "      <td>0.049266</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.234505</td>\n",
       "      <td>0.499610</td>\n",
       "      <td>0.496908</td>\n",
       "      <td>0.181399</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>46.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.001000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.000008</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>114.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.705406</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.097394e+04</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>57.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.004888</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>534.000000</td>\n",
       "      <td>162.000000</td>\n",
       "      <td>3881.984849</td>\n",
       "      <td>254.000000</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>1.294805e+06</td>\n",
       "      <td>1144.138306</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.362782</td>\n",
       "      <td>0.008000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>67.000000</td>\n",
       "      <td>44.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.706223</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>1476.000000</td>\n",
       "      <td>860.000000</td>\n",
       "      <td>125000.000300</td>\n",
       "      <td>254.000000</td>\n",
       "      <td>252.000000</td>\n",
       "      <td>8.462222e+07</td>\n",
       "      <td>9515.771972</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>66.691242</td>\n",
       "      <td>66.961195</td>\n",
       "      <td>3257.893761</td>\n",
       "      <td>124.827801</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>2.420813e+09</td>\n",
       "      <td>2.057435e+09</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>0.093500</td>\n",
       "      <td>0.051041</td>\n",
       "      <td>0.044324</td>\n",
       "      <td>100.000000</td>\n",
       "      <td>82.250000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>5.250000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>11.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>59.478535</td>\n",
       "      <td>422.000000</td>\n",
       "      <td>746.000000</td>\n",
       "      <td>330718.000000</td>\n",
       "      <td>1087890.000000</td>\n",
       "      <td>1000000.003000</td>\n",
       "      <td>254.000000</td>\n",
       "      <td>252.000000</td>\n",
       "      <td>2.168000e+09</td>\n",
       "      <td>16205968.000000</td>\n",
       "      <td>126.000000</td>\n",
       "      <td>370.000000</td>\n",
       "      <td>60000.876000</td>\n",
       "      <td>49369.404000</td>\n",
       "      <td>836161.170900</td>\n",
       "      <td>28407.166000</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>4.294385e+09</td>\n",
       "      <td>4.256723e+09</td>\n",
       "      <td>255.000000</td>\n",
       "      <td>1.354476</td>\n",
       "      <td>0.757640</td>\n",
       "      <td>0.596836</td>\n",
       "      <td>1496.000000</td>\n",
       "      <td>1458.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>524288.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9.000000</td>\n",
       "      <td>60.000000</td>\n",
       "      <td>59.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              dur       spkts       dpkts         sbytes          dbytes  \\\n",
       "count  412.000000  412.000000  412.000000     412.000000      412.000000   \n",
       "mean     1.200363   14.050971   12.111650    4045.847087     6380.211165   \n",
       "std      5.596233   33.823930   46.768022   20188.995865    55040.205260   \n",
       "min      0.000000    1.000000    0.000000      46.000000        0.000000   \n",
       "25%      0.000008    2.000000    0.000000     114.000000        0.000000   \n",
       "50%      0.004888    4.000000    2.000000     534.000000      162.000000   \n",
       "75%      0.706223   12.000000   10.000000    1476.000000      860.000000   \n",
       "max     59.478535  422.000000  746.000000  330718.000000  1087890.000000   \n",
       "\n",
       "                 rate        sttl        dttl         sload            dload  \\\n",
       "count      412.000000  412.000000  412.000000  4.120000e+02       412.000000   \n",
       "mean     92791.877394  186.271845   88.279126  8.846707e+07    710021.587289   \n",
       "std     154649.380923  100.357967  114.966185  2.405202e+08   2645886.721239   \n",
       "min          0.000000    0.000000    0.000000  0.000000e+00         0.000000   \n",
       "25%         27.705406   62.000000    0.000000  1.097394e+04         0.000000   \n",
       "50%       3881.984849  254.000000   29.000000  1.294805e+06      1144.138306   \n",
       "75%     125000.000300  254.000000  252.000000  8.462222e+07      9515.771972   \n",
       "max    1000000.003000  254.000000  252.000000  2.168000e+09  16205968.000000   \n",
       "\n",
       "            sloss       dloss        sinpkt        dinpkt           sjit  \\\n",
       "count  412.000000  412.000000    412.000000    412.000000     412.000000   \n",
       "mean     3.070388    3.963592   1010.636794    276.499301    8769.830136   \n",
       "std      8.901319   20.917429   7049.303608   2672.761947   67130.897432   \n",
       "min      0.000000    0.000000      0.001000      0.000000       0.000000   \n",
       "25%      0.000000    0.000000      0.008000      0.000000       0.000000   \n",
       "50%      1.000000    0.000000      0.362782      0.008000       0.000000   \n",
       "75%      2.000000    2.000000     66.691242     66.961195    3257.893761   \n",
       "max    126.000000  370.000000  60000.876000  49369.404000  836161.170900   \n",
       "\n",
       "               djit        swin         stcpb         dtcpb        dwin  \\\n",
       "count    412.000000  412.000000  4.120000e+02  4.120000e+02  412.000000   \n",
       "mean     601.734191  131.213592  1.107123e+09  1.026359e+09  123.786408   \n",
       "std     2773.689644  127.600857  1.452500e+09  1.352470e+09  127.600857   \n",
       "min        0.000000    0.000000  0.000000e+00  0.000000e+00    0.000000   \n",
       "25%        0.000000    0.000000  0.000000e+00  0.000000e+00    0.000000   \n",
       "50%        0.000000  255.000000  0.000000e+00  0.000000e+00    0.000000   \n",
       "75%      124.827801  255.000000  2.420813e+09  2.057435e+09  255.000000   \n",
       "max    28407.166000  255.000000  4.294385e+09  4.256723e+09  255.000000   \n",
       "\n",
       "           tcprtt      synack      ackdat        smean        dmean  \\\n",
       "count  412.000000  412.000000  412.000000   412.000000   412.000000   \n",
       "mean     0.050587    0.026940    0.023646   152.944175   106.796117   \n",
       "std      0.100773    0.056060    0.047581   237.357685   223.432724   \n",
       "min      0.000000    0.000000    0.000000    28.000000     0.000000   \n",
       "25%      0.000000    0.000000    0.000000    57.000000     0.000000   \n",
       "50%      0.000000    0.000000    0.000000    67.000000    44.000000   \n",
       "75%      0.093500    0.051041    0.044324   100.000000    82.250000   \n",
       "max      1.354476    0.757640    0.596836  1496.000000  1458.000000   \n",
       "\n",
       "       trans_depth  response_body_len  ct_srv_src  ct_state_ttl  ct_dst_ltm  \\\n",
       "count   412.000000         412.000000  412.000000    412.000000  412.000000   \n",
       "mean      0.104369        1452.286408    9.565534      1.432039    5.594660   \n",
       "std       0.306110       25868.164663   10.864486      1.151638    8.339118   \n",
       "min       0.000000           0.000000    1.000000      0.000000    1.000000   \n",
       "25%       0.000000           0.000000    2.000000      1.000000    1.000000   \n",
       "50%       0.000000           0.000000    6.000000      1.000000    2.000000   \n",
       "75%       0.000000           0.000000   12.000000      2.000000    5.250000   \n",
       "max       1.000000      524288.000000   59.000000      6.000000   59.000000   \n",
       "\n",
       "       ct_src_dport_ltm  ct_dst_sport_ltm  ct_dst_src_ltm  is_ftp_login  \\\n",
       "count        412.000000        412.000000      412.000000           412   \n",
       "mean           4.859223          3.665049        7.487864             0   \n",
       "std            8.364249          5.853395       11.171407             0   \n",
       "min            1.000000          1.000000        1.000000             0   \n",
       "25%            1.000000          1.000000        1.000000             0   \n",
       "50%            1.000000          1.000000        3.000000             0   \n",
       "75%            4.000000          3.000000        7.000000             0   \n",
       "max           59.000000         32.000000       59.000000             0   \n",
       "\n",
       "       ct_ftp_cmd  ct_flw_http_mthd  ct_src_ltm  ct_srv_dst  is_sm_ips_ports  \\\n",
       "count         412        412.000000  412.000000  412.000000       412.000000   \n",
       "mean            0          0.138350    6.274272    9.196602         0.012136   \n",
       "std             0          0.594202    8.489582   10.833744         0.109626   \n",
       "min             0          0.000000    1.000000    1.000000         0.000000   \n",
       "25%             0          0.000000    1.000000    2.000000         0.000000   \n",
       "50%             0          0.000000    3.000000    5.000000         0.000000   \n",
       "75%             0          0.000000    7.000000   11.000000         0.000000   \n",
       "max             0          9.000000   60.000000   59.000000         1.000000   \n",
       "\n",
       "       proto_3pc  proto_a/n  proto_aes-sp3-d  proto_any  proto_argus  \\\n",
       "count        412        412              412        412          412   \n",
       "mean           0          0                0          0            0   \n",
       "std            0          0                0          0            0   \n",
       "min            0          0                0          0            0   \n",
       "25%            0          0                0          0            0   \n",
       "50%            0          0                0          0            0   \n",
       "75%            0          0                0          0            0   \n",
       "max            0          0                0          0            0   \n",
       "\n",
       "       proto_aris   proto_arp  proto_ax.25  proto_bbn-rcc  proto_bna  \\\n",
       "count         412  412.000000          412            412        412   \n",
       "mean            0    0.016990            0              0          0   \n",
       "std             0    0.129392            0              0          0   \n",
       "min             0    0.000000            0              0          0   \n",
       "25%             0    0.000000            0              0          0   \n",
       "50%             0    0.000000            0              0          0   \n",
       "75%             0    0.000000            0              0          0   \n",
       "max             0    1.000000            0              0          0   \n",
       "\n",
       "       proto_br-sat-mon  proto_cbt  proto_cftp  proto_chaos  \\\n",
       "count               412        412         412          412   \n",
       "mean                  0          0           0            0   \n",
       "std                   0          0           0            0   \n",
       "min                   0          0           0            0   \n",
       "25%                   0          0           0            0   \n",
       "50%                   0          0           0            0   \n",
       "75%                   0          0           0            0   \n",
       "max                   0          0           0            0   \n",
       "\n",
       "       proto_compaq-peer  proto_cphb  proto_cpnx  proto_crtp  proto_crudp  \\\n",
       "count                412  412.000000         412         412          412   \n",
       "mean                   0    0.002427           0           0            0   \n",
       "std                    0    0.049266           0           0            0   \n",
       "min                    0    0.000000           0           0            0   \n",
       "25%                    0    0.000000           0           0            0   \n",
       "50%                    0    0.000000           0           0            0   \n",
       "75%                    0    0.000000           0           0            0   \n",
       "max                    0    1.000000           0           0            0   \n",
       "\n",
       "       proto_dcn  proto_ddp  proto_ddx  proto_dgp  proto_egp  proto_eigrp  \\\n",
       "count        412        412        412        412        412          412   \n",
       "mean           0          0          0          0          0            0   \n",
       "std            0          0          0          0          0            0   \n",
       "min            0          0          0          0          0            0   \n",
       "25%            0          0          0          0          0            0   \n",
       "50%            0          0          0          0          0            0   \n",
       "75%            0          0          0          0          0            0   \n",
       "max            0          0          0          0          0            0   \n",
       "\n",
       "       proto_emcon  proto_encap  proto_etherip  proto_fc  proto_fire  \\\n",
       "count          412   412.000000            412       412         412   \n",
       "mean             0     0.004854              0         0           0   \n",
       "std              0     0.069588              0         0           0   \n",
       "min              0     0.000000              0         0           0   \n",
       "25%              0     0.000000              0         0           0   \n",
       "50%              0     0.000000              0         0           0   \n",
       "75%              0     0.000000              0         0           0   \n",
       "max              0     1.000000              0         0           0   \n",
       "\n",
       "       proto_ggp  proto_gmtp   proto_gre   proto_hmp  proto_i-nlsp  \\\n",
       "count        412         412  412.000000  412.000000    412.000000   \n",
       "mean           0           0    0.002427    0.002427      0.002427   \n",
       "std            0           0    0.049266    0.049266      0.049266   \n",
       "min            0           0    0.000000    0.000000      0.000000   \n",
       "25%            0           0    0.000000    0.000000      0.000000   \n",
       "50%            0           0    0.000000    0.000000      0.000000   \n",
       "75%            0           0    0.000000    0.000000      0.000000   \n",
       "max            0           0    1.000000    1.000000      1.000000   \n",
       "\n",
       "       proto_iatp  proto_ib  proto_idpr  proto_idpr-cmtp  proto_idrp  \\\n",
       "count  412.000000       412         412       412.000000         412   \n",
       "mean     0.002427         0           0         0.002427           0   \n",
       "std      0.049266         0           0         0.049266           0   \n",
       "min      0.000000         0           0         0.000000           0   \n",
       "25%      0.000000         0           0         0.000000           0   \n",
       "50%      0.000000         0           0         0.000000           0   \n",
       "75%      0.000000         0           0         0.000000           0   \n",
       "max      1.000000         0           0         1.000000           0   \n",
       "\n",
       "       proto_ifmp  proto_igmp  proto_igp    proto_il  proto_ip  proto_ipcomp  \\\n",
       "count         412         412        412  412.000000       412    412.000000   \n",
       "mean            0           0          0    0.002427         0      0.002427   \n",
       "std             0           0          0    0.049266         0      0.049266   \n",
       "min             0           0          0    0.000000         0      0.000000   \n",
       "25%             0           0          0    0.000000         0      0.000000   \n",
       "50%             0           0          0    0.000000         0      0.000000   \n",
       "75%             0           0          0    0.000000         0      0.000000   \n",
       "max             0           0          0    1.000000         0      1.000000   \n",
       "\n",
       "       proto_ipcv  proto_ipip  proto_iplt  proto_ipnip  proto_ippc  \\\n",
       "count         412         412         412   412.000000         412   \n",
       "mean            0           0           0     0.002427           0   \n",
       "std             0           0           0     0.049266           0   \n",
       "min             0           0           0     0.000000           0   \n",
       "25%             0           0           0     0.000000           0   \n",
       "50%             0           0           0     0.000000           0   \n",
       "75%             0           0           0     0.000000           0   \n",
       "max             0           0           0     1.000000           0   \n",
       "\n",
       "       proto_ipv6  proto_ipv6-frag  proto_ipv6-no  proto_ipv6-opts  \\\n",
       "count         412              412            412              412   \n",
       "mean            0                0              0                0   \n",
       "std             0                0              0                0   \n",
       "min             0                0              0                0   \n",
       "25%             0                0              0                0   \n",
       "50%             0                0              0                0   \n",
       "75%             0                0              0                0   \n",
       "max             0                0              0                0   \n",
       "\n",
       "       proto_ipv6-route  proto_ipx-n-ip  proto_irtp  proto_isis  proto_iso-ip  \\\n",
       "count               412      412.000000  412.000000         412           412   \n",
       "mean                  0        0.002427    0.002427           0             0   \n",
       "std                   0        0.049266    0.049266           0             0   \n",
       "min                   0        0.000000    0.000000           0             0   \n",
       "25%                   0        0.000000    0.000000           0             0   \n",
       "50%                   0        0.000000    0.000000           0             0   \n",
       "75%                   0        0.000000    0.000000           0             0   \n",
       "max                   0        1.000000    1.000000           0             0   \n",
       "\n",
       "       proto_iso-tp4  proto_kryptolan  proto_l2tp  proto_larp  proto_leaf-1  \\\n",
       "count            412              412  412.000000         412           412   \n",
       "mean               0                0    0.002427           0             0   \n",
       "std                0                0    0.049266           0             0   \n",
       "min                0                0    0.000000           0             0   \n",
       "25%                0                0    0.000000           0             0   \n",
       "50%                0                0    0.000000           0             0   \n",
       "75%                0                0    0.000000           0             0   \n",
       "max                0                0    1.000000           0             0   \n",
       "\n",
       "       proto_leaf-2  proto_merit-inp  proto_mfe-nsp  proto_mhrp  proto_micp  \\\n",
       "count           412              412            412         412         412   \n",
       "mean              0                0              0           0           0   \n",
       "std               0                0              0           0           0   \n",
       "min               0                0              0           0           0   \n",
       "25%               0                0              0           0           0   \n",
       "50%               0                0              0           0           0   \n",
       "75%               0                0              0           0           0   \n",
       "max               0                0              0           0           0   \n",
       "\n",
       "       proto_mobile   proto_mtp  proto_mux  proto_narp  proto_netblt  \\\n",
       "count           412  412.000000        412         412           412   \n",
       "mean              0    0.002427          0           0             0   \n",
       "std               0    0.049266          0           0             0   \n",
       "min               0    0.000000          0           0             0   \n",
       "25%               0    0.000000          0           0             0   \n",
       "50%               0    0.000000          0           0             0   \n",
       "75%               0    0.000000          0           0             0   \n",
       "max               0    1.000000          0           0             0   \n",
       "\n",
       "       proto_nsfnet-igp   proto_nvp  proto_ospf   proto_pgm  proto_pim  \\\n",
       "count               412  412.000000  412.000000  412.000000        412   \n",
       "mean                  0    0.002427    0.009709    0.002427          0   \n",
       "std                   0    0.049266    0.098173    0.049266          0   \n",
       "min                   0    0.000000    0.000000    0.000000          0   \n",
       "25%                   0    0.000000    0.000000    0.000000          0   \n",
       "50%                   0    0.000000    0.000000    0.000000          0   \n",
       "75%                   0    0.000000    0.000000    0.000000          0   \n",
       "max                   0    1.000000    1.000000    1.000000          0   \n",
       "\n",
       "       proto_pipe  proto_pnni  proto_pri-enc  proto_prm  proto_ptp  proto_pup  \\\n",
       "count         412         412            412        412        412        412   \n",
       "mean            0           0              0          0          0          0   \n",
       "std             0           0              0          0          0          0   \n",
       "min             0           0              0          0          0          0   \n",
       "25%             0           0              0          0          0          0   \n",
       "50%             0           0              0          0          0          0   \n",
       "75%             0           0              0          0          0          0   \n",
       "max             0           0              0          0          0          0   \n",
       "\n",
       "        proto_pvp  proto_qnx  proto_rdp  proto_rsvp   proto_rvd  \\\n",
       "count  412.000000        412        412         412  412.000000   \n",
       "mean     0.002427          0          0           0    0.002427   \n",
       "std      0.049266          0          0           0    0.049266   \n",
       "min      0.000000          0          0           0    0.000000   \n",
       "25%      0.000000          0          0           0    0.000000   \n",
       "50%      0.000000          0          0           0    0.000000   \n",
       "75%      0.000000          0          0           0    0.000000   \n",
       "max      1.000000          0          0           0    1.000000   \n",
       "\n",
       "       proto_sat-expak  proto_sat-mon  proto_sccopmce  proto_scps  proto_sctp  \\\n",
       "count              412            412             412  412.000000  412.000000   \n",
       "mean                 0              0               0    0.002427    0.007282   \n",
       "std                  0              0               0    0.049266    0.085124   \n",
       "min                  0              0               0    0.000000    0.000000   \n",
       "25%                  0              0               0    0.000000    0.000000   \n",
       "50%                  0              0               0    0.000000    0.000000   \n",
       "75%                  0              0               0    0.000000    0.000000   \n",
       "max                  0              0               0    1.000000    1.000000   \n",
       "\n",
       "       proto_sdrp  proto_secure-vmtp   proto_sep  proto_skip  proto_sm  \\\n",
       "count         412                412  412.000000         412       412   \n",
       "mean            0                  0    0.002427           0         0   \n",
       "std             0                  0    0.049266           0         0   \n",
       "min             0                  0    0.000000           0         0   \n",
       "25%             0                  0    0.000000           0         0   \n",
       "50%             0                  0    0.000000           0         0   \n",
       "75%             0                  0    0.000000           0         0   \n",
       "max             0                  0    1.000000           0         0   \n",
       "\n",
       "       proto_smp  proto_snp  proto_sprite-rpc  proto_sps  proto_srp  \\\n",
       "count        412        412               412        412        412   \n",
       "mean           0          0                 0          0          0   \n",
       "std            0          0                 0          0          0   \n",
       "min            0          0                 0          0          0   \n",
       "25%            0          0                 0          0          0   \n",
       "50%            0          0                 0          0          0   \n",
       "75%            0          0                 0          0          0   \n",
       "max            0          0                 0          0          0   \n",
       "\n",
       "       proto_st2   proto_stp  proto_sun-nd  proto_swipe  proto_tcf  \\\n",
       "count        412  412.000000           412          412        412   \n",
       "mean           0    0.002427             0            0          0   \n",
       "std            0    0.049266             0            0          0   \n",
       "min            0    0.000000             0            0          0   \n",
       "25%            0    0.000000             0            0          0   \n",
       "50%            0    0.000000             0            0          0   \n",
       "75%            0    0.000000             0            0          0   \n",
       "max            0    1.000000             0            0          0   \n",
       "\n",
       "        proto_tcp  proto_tlsp  proto_tp++  proto_trunk-1  proto_trunk-2  \\\n",
       "count  412.000000         412  412.000000     412.000000            412   \n",
       "mean     0.514563           0    0.002427       0.002427              0   \n",
       "std      0.500396           0    0.049266       0.049266              0   \n",
       "min      0.000000           0    0.000000       0.000000              0   \n",
       "25%      0.000000           0    0.000000       0.000000              0   \n",
       "50%      1.000000           0    0.000000       0.000000              0   \n",
       "75%      1.000000           0    0.000000       0.000000              0   \n",
       "max      1.000000           0    1.000000       1.000000              0   \n",
       "\n",
       "       proto_ttp   proto_udp  proto_unas  proto_uti  proto_vines  proto_visa  \\\n",
       "count        412  412.000000  412.000000        412   412.000000         412   \n",
       "mean           0    0.339806    0.046117          0     0.002427           0   \n",
       "std            0    0.474219    0.209992          0     0.049266           0   \n",
       "min            0    0.000000    0.000000          0     0.000000           0   \n",
       "25%            0    0.000000    0.000000          0     0.000000           0   \n",
       "50%            0    0.000000    0.000000          0     0.000000           0   \n",
       "75%            0    1.000000    0.000000          0     0.000000           0   \n",
       "max            0    1.000000    1.000000          0     1.000000           0   \n",
       "\n",
       "       proto_vmtp  proto_vrrp  proto_wb-expak  proto_wb-mon   proto_wsn  \\\n",
       "count         412         412             412           412  412.000000   \n",
       "mean            0           0               0             0    0.002427   \n",
       "std             0           0               0             0    0.049266   \n",
       "min             0           0               0             0    0.000000   \n",
       "25%             0           0               0             0    0.000000   \n",
       "50%             0           0               0             0    0.000000   \n",
       "75%             0           0               0             0    0.000000   \n",
       "max             0           0               0             0    1.000000   \n",
       "\n",
       "       proto_xnet  proto_xns-idp  proto_xtp  proto_zero   service_-  \\\n",
       "count         412     412.000000        412         412  412.000000   \n",
       "mean            0       0.002427          0           0    0.599515   \n",
       "std             0       0.049266          0           0    0.490593   \n",
       "min             0       0.000000          0           0    0.000000   \n",
       "25%             0       0.000000          0           0    0.000000   \n",
       "50%             0       0.000000          0           0    1.000000   \n",
       "75%             0       0.000000          0           0    1.000000   \n",
       "max             0       1.000000          0           0    1.000000   \n",
       "\n",
       "       service_dhcp  service_dns  service_ftp  service_ftp-data  service_http  \\\n",
       "count           412   412.000000   412.000000        412.000000    412.000000   \n",
       "mean              0     0.242718     0.009709          0.009709      0.101942   \n",
       "std               0     0.429248     0.098173          0.098173      0.302940   \n",
       "min               0     0.000000     0.000000          0.000000      0.000000   \n",
       "25%               0     0.000000     0.000000          0.000000      0.000000   \n",
       "50%               0     0.000000     0.000000          0.000000      0.000000   \n",
       "75%               0     0.000000     0.000000          0.000000      0.000000   \n",
       "max               0     1.000000     1.000000          1.000000      1.000000   \n",
       "\n",
       "       service_irc  service_pop3  service_radius  service_smtp  service_snmp  \\\n",
       "count          412    412.000000             412    412.000000           412   \n",
       "mean             0      0.002427               0      0.031553             0   \n",
       "std              0      0.049266               0      0.175020             0   \n",
       "min              0      0.000000               0      0.000000             0   \n",
       "25%              0      0.000000               0      0.000000             0   \n",
       "50%              0      0.000000               0      0.000000             0   \n",
       "75%              0      0.000000               0      0.000000             0   \n",
       "max              0      1.000000               0      1.000000             0   \n",
       "\n",
       "       service_ssh  service_ssl  state_ACC  state_CLO   state_CON   state_FIN  \\\n",
       "count   412.000000          412        412        412  412.000000  412.000000   \n",
       "mean      0.002427            0          0          0    0.058252    0.468447   \n",
       "std       0.049266            0          0          0    0.234505    0.499610   \n",
       "min       0.000000            0          0          0    0.000000    0.000000   \n",
       "25%       0.000000            0          0          0    0.000000    0.000000   \n",
       "50%       0.000000            0          0          0    0.000000    0.000000   \n",
       "75%       0.000000            0          0          0    0.000000    1.000000   \n",
       "max       1.000000            0          0          0    1.000000    1.000000   \n",
       "\n",
       "        state_INT   state_REQ  state_RST  \n",
       "count  412.000000  412.000000        412  \n",
       "mean     0.439320    0.033981          0  \n",
       "std      0.496908    0.181399          0  \n",
       "min      0.000000    0.000000          0  \n",
       "25%      0.000000    0.000000          0  \n",
       "50%      0.000000    0.000000          0  \n",
       "75%      1.000000    0.000000          0  \n",
       "max      1.000000    1.000000          0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.set_option('display.max_columns', 500)\n",
    "dfcopy.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Ref:09 Clustering and Discretization\n",
    "Since we have a 190 features after 1 hot encoding, lets iterate through various pair wise classifications with the existing features to see what the best baseline classification we have\n",
    "to perform futher clustering techniques upon.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average accuracy =  90.3222996516 +- 2.74171603247\n"
     ]
    }
   ],
   "source": [
    "from sklearn.cross_validation import StratifiedKFold, cross_val_score\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "\n",
    "\n",
    "\n",
    "cv = StratifiedKFold(y,n_folds=10)\n",
    "# n_estimators = The number of trees in the forest.\n",
    "clf = RandomForestClassifier(n_estimators=150,random_state=1, max_features=5)\n",
    "\n",
    "acc = cross_val_score(clf,X,y=y,cv=cv)\n",
    "\n",
    "print \"Average accuracy = \", acc.mean()*100, \"+-\", acc.std()*100\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dur\n"
     ]
    }
   ],
   "source": [
    "# Example of how to get label from dataframe column index.\n",
    "print dfcopy.columns.get_level_values(0)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "col:  190\n",
      "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189]\n",
      "combo_list size:  17955\n",
      "sampleLength:  359\n",
      "('f1: ', 33, u'is_ftp_login')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  is_ftp_login / state_ACC )=  92.7270615563 +- 3.76844383358\n",
      "Average F1 (with kmeans for  is_ftp_login / state_ACC )=  93.3401147515 +- 3.33680171671\n",
      "('f1: ', 62, u'proto_egp')\n",
      "('f2: ', 90, u'proto_ipv6')\n",
      "Average accuracy (with kmeans for  proto_egp / proto_ipv6 )=  91.7569686411 +- 3.24237107287\n",
      "Average F1 (with kmeans for  proto_egp / proto_ipv6 )=  92.4009144797 +- 2.97400005907\n",
      "('f1: ', 52, u'proto_chaos')\n",
      "('f2: ', 111, u'proto_mux')\n",
      "Average accuracy (with kmeans for  proto_chaos / proto_mux )=  91.5194541231 +- 3.75618313496\n",
      "Average F1 (with kmeans for  proto_chaos / proto_mux )=  92.2221569906 +- 3.4928744222\n",
      "('f1: ', 83, u'proto_ip')\n",
      "('f2: ', 91, u'proto_ipv6-frag')\n",
      "Average accuracy (with kmeans for  proto_ip / proto_ipv6-frag )=  92.2331591173 +- 2.38013939337\n",
      "Average F1 (with kmeans for  proto_ip / proto_ipv6-frag )=  92.8117030579 +- 2.33529740436\n",
      "('f1: ', 94, u'proto_ipv6-route')\n",
      "('f2: ', 162, u'proto_vrrp')\n",
      "Average accuracy (with kmeans for  proto_ipv6-route / proto_vrrp )=  91.768873403 +- 4.19164869313\n",
      "Average F1 (with kmeans for  proto_ipv6-route / proto_vrrp )=  92.3431353496 +- 3.71152350244\n",
      "('f1: ', 111, u'proto_mux')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_mux / proto_sprite-rpc )=  91.7691637631 +- 4.01663733796\n",
      "Average F1 (with kmeans for  proto_mux / proto_sprite-rpc )=  92.4135120452 +- 3.64888129835\n",
      "('f1: ', 162, u'proto_vrrp')\n",
      "('f2: ', 164, u'proto_wb-mon')\n",
      "Average accuracy (with kmeans for  proto_vrrp / proto_wb-mon )=  91.9953542393 +- 3.0726955404\n",
      "Average F1 (with kmeans for  proto_vrrp / proto_wb-mon )=  92.5959200517 +- 2.92663468981\n",
      "('f1: ', 3, u'sbytes')\n",
      "('f2: ', 129, u'proto_rvd')\n",
      "Average accuracy (with kmeans for  sbytes / proto_rvd )=  92.2453542393 +- 3.00104661149\n",
      "Average F1 (with kmeans for  sbytes / proto_rvd )=  92.7889706119 +- 2.96872058156\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 115, u'proto_nvp')\n",
      "Average accuracy (with kmeans for  response_body_len / proto_nvp )=  92.7212543554 +- 3.23274435955\n",
      "Average F1 (with kmeans for  response_body_len / proto_nvp )=  93.3585610013 +- 2.97384964657\n",
      "('f1: ', 17, u'stcpb')\n",
      "('f2: ', 187, u'state_INT')\n",
      "Average accuracy (with kmeans for  stcpb / state_INT )=  91.2926829268 +- 2.83223708499\n",
      "Average F1 (with kmeans for  stcpb / state_INT )=  91.8859651977 +- 2.90544108266\n",
      "('f1: ', 56, u'proto_crtp')\n",
      "('f2: ', 65, u'proto_encap')\n",
      "Average accuracy (with kmeans for  proto_crtp / proto_encap )=  92.2334494774 +- 3.03780358974\n",
      "Average F1 (with kmeans for  proto_crtp / proto_encap )=  92.853762474 +- 2.92464509419\n",
      "('f1: ', 132, u'proto_sccopmce')\n",
      "('f2: ', 153, u'proto_trunk-1')\n",
      "Average accuracy (with kmeans for  proto_sccopmce / proto_trunk-1 )=  92.0011614402 +- 2.65991287063\n",
      "Average F1 (with kmeans for  proto_sccopmce / proto_trunk-1 )=  92.541472683 +- 2.64649831978\n",
      "('f1: ', 0, u'dur')\n",
      "('f2: ', 66, u'proto_etherip')\n",
      "Average accuracy (with kmeans for  dur / proto_etherip )=  91.2868757259 +- 4.200861037\n",
      "Average F1 (with kmeans for  dur / proto_etherip )=  91.8403324202 +- 3.92973162022\n",
      "('f1: ', 58, u'proto_dcn')\n",
      "('f2: ', 62, u'proto_egp')\n",
      "Average accuracy (with kmeans for  proto_dcn / proto_egp )=  91.2868757259 +- 3.23973346249\n",
      "Average F1 (with kmeans for  proto_dcn / proto_egp )=  91.8924988618 +- 3.2527940916\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 27, u'ct_srv_src')\n",
      "Average accuracy (with kmeans for  response_body_len / ct_srv_src )=  90.7932636469 +- 3.52736401959\n",
      "Average F1 (with kmeans for  response_body_len / ct_srv_src )=  91.5302308033 +- 3.27749448409\n",
      "('f1: ', 13, u'dinpkt')\n",
      "('f2: ', 94, u'proto_ipv6-route')\n",
      "Average accuracy (with kmeans for  dinpkt / proto_ipv6-route )=  90.0725900116 +- 4.5811958788\n",
      "Average F1 (with kmeans for  dinpkt / proto_ipv6-route )=  90.7831513864 +- 4.16152642789\n",
      "('f1: ', 121, u'proto_pri-enc')\n",
      "('f2: ', 137, u'proto_sep')\n",
      "Average accuracy (with kmeans for  proto_pri-enc / proto_sep )=  91.524970964 +- 3.87133573141\n",
      "Average F1 (with kmeans for  proto_pri-enc / proto_sep )=  92.1688948614 +- 3.4329026488\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 152, u'proto_tp++')\n",
      "Average accuracy (with kmeans for  swin / proto_tp++ )=  91.531068525 +- 4.34159174636\n",
      "Average F1 (with kmeans for  swin / proto_tp++ )=  92.0663235847 +- 4.24864144198\n",
      "('f1: ', 101, u'proto_l2tp')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_l2tp / state_CLO )=  90.5903019744 +- 4.01213877473\n",
      "Average F1 (with kmeans for  proto_l2tp / state_CLO )=  91.2011662076 +- 3.92649235707\n",
      "('f1: ', 51, u'proto_cftp')\n",
      "('f2: ', 97, u'proto_isis')\n",
      "Average accuracy (with kmeans for  proto_cftp / proto_isis )=  91.5426829268 +- 3.89830699447\n",
      "Average F1 (with kmeans for  proto_cftp / proto_isis )=  92.1453280512 +- 3.67563630719\n",
      "('f1: ', 140, u'proto_smp')\n",
      "('f2: ', 143, u'proto_sps')\n",
      "Average accuracy (with kmeans for  proto_smp / proto_sps )=  91.0487804878 +- 3.86964780609\n",
      "Average F1 (with kmeans for  proto_smp / proto_sps )=  91.684260081 +- 3.54514432202\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 40, u'proto_a/n')\n",
      "Average accuracy (with kmeans for  response_body_len / proto_a/n )=  90.5664924506 +- 3.75097497941\n",
      "Average F1 (with kmeans for  response_body_len / proto_a/n )=  91.3224344916 +- 3.51258450462\n",
      "('f1: ', 85, u'proto_ipcv')\n",
      "('f2: ', 117, u'proto_pgm')\n",
      "Average accuracy (with kmeans for  proto_ipcv / proto_pgm )=  90.3286875726 +- 3.81602233177\n",
      "Average F1 (with kmeans for  proto_ipcv / proto_pgm )=  91.0646338225 +- 3.55924086438\n",
      "('f1: ', 3, u'sbytes')\n",
      "('f2: ', 88, u'proto_ipnip')\n",
      "Average accuracy (with kmeans for  sbytes / proto_ipnip )=  90.8167828107 +- 3.62684503317\n",
      "Average F1 (with kmeans for  sbytes / proto_ipnip )=  91.6226588864 +- 3.33241112224\n",
      "('f1: ', 0, u'dur')\n",
      "('f2: ', 106, u'proto_mfe-nsp')\n",
      "Average accuracy (with kmeans for  dur / proto_mfe-nsp )=  91.2987804878 +- 4.29713564285\n",
      "Average F1 (with kmeans for  dur / proto_mfe-nsp )=  91.9867456688 +- 3.90060819022\n",
      "('f1: ', 83, u'proto_ip')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  proto_ip / state_FIN )=  91.0786875726 +- 4.51458692216\n",
      "Average F1 (with kmeans for  proto_ip / state_FIN )=  91.8188017676 +- 4.24603457097\n",
      "('f1: ', 32, u'ct_dst_src_ltm')\n",
      "('f2: ', 151, u'proto_tlsp')\n",
      "Average accuracy (with kmeans for  ct_dst_src_ltm / proto_tlsp )=  91.5075493612 +- 4.30446871292\n",
      "Average F1 (with kmeans for  ct_dst_src_ltm / proto_tlsp )=  92.2657756491 +- 3.9295554989\n",
      "('f1: ', 78, u'proto_idrp')\n",
      "('f2: ', 138, u'proto_skip')\n",
      "Average accuracy (with kmeans for  proto_idrp / proto_skip )=  91.775261324 +- 3.74002071748\n",
      "Average F1 (with kmeans for  proto_idrp / proto_skip )=  92.4076866396 +- 3.58151530934\n",
      "('f1: ', 60, u'proto_ddx')\n",
      "('f2: ', 102, u'proto_larp')\n",
      "Average accuracy (with kmeans for  proto_ddx / proto_larp )=  90.525261324 +- 2.74747889564\n",
      "Average F1 (with kmeans for  proto_ddx / proto_larp )=  91.2029581321 +- 2.7691865352\n",
      "('f1: ', 133, u'proto_scps')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_scps / state_CLO )=  91.0490708479 +- 3.71085911313\n",
      "Average F1 (with kmeans for  proto_scps / state_CLO )=  91.5893260087 +- 3.80998056066\n",
      "('f1: ', 65, u'proto_encap')\n",
      "('f2: ', 112, u'proto_narp')\n",
      "Average accuracy (with kmeans for  proto_encap / proto_narp )=  91.0548780488 +- 3.33503915417\n",
      "Average F1 (with kmeans for  proto_encap / proto_narp )=  91.5407069091 +- 3.51884425997\n",
      "('f1: ', 4, u'dbytes')\n",
      "('f2: ', 61, u'proto_dgp')\n",
      "Average accuracy (with kmeans for  dbytes / proto_dgp )=  91.781068525 +- 3.22086786598\n",
      "Average F1 (with kmeans for  dbytes / proto_dgp )=  92.425707697 +- 3.05296810591\n",
      "('f1: ', 27, u'ct_srv_src')\n",
      "('f2: ', 170, u'service_-')\n",
      "Average accuracy (with kmeans for  ct_srv_src / service_- )=  90.5429732869 +- 3.11854097503\n",
      "Average F1 (with kmeans for  ct_srv_src / service_- )=  91.2083648615 +- 3.04339846057\n",
      "('f1: ', 1, u'spkts')\n",
      "('f2: ', 9, u'dload')\n",
      "Average accuracy (with kmeans for  spkts / dload )=  90.8167828107 +- 3.92757297174\n",
      "Average F1 (with kmeans for  spkts / dload )=  91.4118197435 +- 3.8074276426\n",
      "('f1: ', 27, u'ct_srv_src')\n",
      "('f2: ', 148, u'proto_swipe')\n",
      "Average accuracy (with kmeans for  ct_srv_src / proto_swipe )=  91.0548780488 +- 3.82623311574\n",
      "Average F1 (with kmeans for  ct_srv_src / proto_swipe )=  91.6533656372 +- 3.71521168259\n",
      "('f1: ', 30, u'ct_src_dport_ltm')\n",
      "('f2: ', 109, u'proto_mobile')\n",
      "Average accuracy (with kmeans for  ct_src_dport_ltm / proto_mobile )=  90.8048780488 +- 3.29335877674\n",
      "Average F1 (with kmeans for  ct_src_dport_ltm / proto_mobile )=  91.3130536644 +- 3.63900796562\n",
      "('f1: ', 34, u'ct_ftp_cmd')\n",
      "('f2: ', 144, u'proto_srp')\n",
      "Average accuracy (with kmeans for  ct_ftp_cmd / proto_srp )=  91.0487804878 +- 2.9638498862\n",
      "Average F1 (with kmeans for  ct_ftp_cmd / proto_srp )=  91.5879160522 +- 3.05944580613\n",
      "('f1: ', 47, u'proto_bbn-rcc')\n",
      "('f2: ', 101, u'proto_l2tp')\n",
      "Average accuracy (with kmeans for  proto_bbn-rcc / proto_l2tp )=  91.2868757259 +- 3.18680642138\n",
      "Average F1 (with kmeans for  proto_bbn-rcc / proto_l2tp )=  91.9452570703 +- 2.95303196534\n",
      "('f1: ', 11, u'dloss')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  dloss / state_FIN )=  90.7987804878 +- 3.51728537253\n",
      "Average F1 (with kmeans for  dloss / state_FIN )=  91.4490214258 +- 3.3338261479\n",
      "('f1: ', 106, u'proto_mfe-nsp')\n",
      "('f2: ', 175, u'service_http')\n",
      "Average accuracy (with kmeans for  proto_mfe-nsp / service_http )=  91.7691637631 +- 3.87347899364\n",
      "Average F1 (with kmeans for  proto_mfe-nsp / service_http )=  92.4158308143 +- 3.53391470381\n",
      "('f1: ', 70, u'proto_gmtp')\n",
      "('f2: ', 101, u'proto_l2tp')\n",
      "Average accuracy (with kmeans for  proto_gmtp / proto_l2tp )=  91.0191637631 +- 2.86093302377\n",
      "Average F1 (with kmeans for  proto_gmtp / proto_l2tp )=  91.5876789429 +- 2.92573800177\n",
      "('f1: ', 168, u'proto_xtp')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  proto_xtp / service_snmp )=  91.0487804878 +- 3.52394565736\n",
      "Average F1 (with kmeans for  proto_xtp / service_snmp )=  91.5334647392 +- 3.7177708135\n",
      "('f1: ', 45, u'proto_arp')\n",
      "('f2: ', 82, u'proto_il')\n",
      "Average accuracy (with kmeans for  proto_arp / proto_il )=  90.0490708479 +- 3.83303690258\n",
      "Average F1 (with kmeans for  proto_arp / proto_il )=  90.9657350194 +- 3.34679567121\n",
      "('f1: ', 85, u'proto_ipcv')\n",
      "('f2: ', 111, u'proto_mux')\n",
      "Average accuracy (with kmeans for  proto_ipcv / proto_mux )=  91.5191637631 +- 2.85758184545\n",
      "Average F1 (with kmeans for  proto_ipcv / proto_mux )=  92.1227702636 +- 2.76425019347\n",
      "('f1: ', 118, u'proto_pim')\n",
      "('f2: ', 181, u'service_ssh')\n",
      "Average accuracy (with kmeans for  proto_pim / service_ssh )=  90.7868757259 +- 3.13470855764\n",
      "Average F1 (with kmeans for  proto_pim / service_ssh )=  91.4641665668 +- 2.91632959729\n",
      "('f1: ', 75, u'proto_ib')\n",
      "('f2: ', 125, u'proto_pvp')\n",
      "Average accuracy (with kmeans for  proto_ib / proto_pvp )=  90.5606852497 +- 3.44983012867\n",
      "Average F1 (with kmeans for  proto_ib / proto_pvp )=  91.1988415512 +- 3.30432661805\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_igp / proto_visa )=  91.281068525 +- 2.62774776854\n",
      "Average F1 (with kmeans for  proto_igp / proto_visa )=  91.8800469759 +- 2.72260924672\n",
      "('f1: ', 105, u'proto_merit-inp')\n",
      "('f2: ', 114, u'proto_nsfnet-igp')\n",
      "Average accuracy (with kmeans for  proto_merit-inp / proto_nsfnet-igp )=  91.0429732869 +- 3.70133735591\n",
      "Average F1 (with kmeans for  proto_merit-inp / proto_nsfnet-igp )=  91.7143284839 +- 3.4023818062\n",
      "('f1: ', 55, u'proto_cpnx')\n",
      "('f2: ', 86, u'proto_ipip')\n",
      "Average accuracy (with kmeans for  proto_cpnx / proto_ipip )=  91.2868757259 +- 2.84966450219\n",
      "Average F1 (with kmeans for  proto_cpnx / proto_ipip )=  91.8580338082 +- 2.77006618239\n",
      "('f1: ', 10, u'sloss')\n",
      "('f2: ', 52, u'proto_chaos')\n",
      "Average accuracy (with kmeans for  sloss / proto_chaos )=  90.7871660859 +- 3.20584959909\n",
      "Average F1 (with kmeans for  sloss / proto_chaos )=  91.4678937269 +- 3.13854481782\n",
      "('f1: ', 22, u'ackdat')\n",
      "('f2: ', 100, u'proto_kryptolan')\n",
      "Average accuracy (with kmeans for  ackdat / proto_kryptolan )=  90.7987804878 +- 3.82607763748\n",
      "Average F1 (with kmeans for  ackdat / proto_kryptolan )=  91.4091667525 +- 3.43387639079\n",
      "('f1: ', 124, u'proto_pup')\n",
      "('f2: ', 159, u'proto_vines')\n",
      "Average accuracy (with kmeans for  proto_pup / proto_vines )=  90.8167828107 +- 3.78048179473\n",
      "Average F1 (with kmeans for  proto_pup / proto_vines )=  91.4514467831 +- 3.54387453748\n",
      "('f1: ', 97, u'proto_isis')\n",
      "('f2: ', 188, u'state_REQ')\n",
      "Average accuracy (with kmeans for  proto_isis / state_REQ )=  90.2990708479 +- 4.01640349278\n",
      "Average F1 (with kmeans for  proto_isis / state_REQ )=  90.9828554116 +- 3.79633032261\n",
      "('f1: ', 157, u'proto_unas')\n",
      "('f2: ', 164, u'proto_wb-mon')\n",
      "Average accuracy (with kmeans for  proto_unas / proto_wb-mon )=  92.2572590012 +- 3.34246393216\n",
      "Average F1 (with kmeans for  proto_unas / proto_wb-mon )=  92.8307578128 +- 3.13862836927\n",
      "('f1: ', 69, u'proto_ggp')\n",
      "('f2: ', 100, u'proto_kryptolan')\n",
      "Average accuracy (with kmeans for  proto_ggp / proto_kryptolan )=  90.775261324 +- 3.39680402956\n",
      "Average F1 (with kmeans for  proto_ggp / proto_kryptolan )=  91.3217186076 +- 3.49822344942\n",
      "('f1: ', 94, u'proto_ipv6-route')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_ipv6-route / state_CLO )=  91.031068525 +- 3.42664259088\n",
      "Average F1 (with kmeans for  proto_ipv6-route / state_CLO )=  91.6798954517 +- 3.13101604068\n",
      "('f1: ', 141, u'proto_snp')\n",
      "('f2: ', 171, u'service_dhcp')\n",
      "Average accuracy (with kmeans for  proto_snp / service_dhcp )=  91.5371660859 +- 3.7393552073\n",
      "Average F1 (with kmeans for  proto_snp / service_dhcp )=  92.1005073457 +- 3.65665652728\n",
      "('f1: ', 91, u'proto_ipv6-frag')\n",
      "('f2: ', 172, u'service_dns')\n",
      "Average accuracy (with kmeans for  proto_ipv6-frag / service_dns )=  90.7987804878 +- 3.82607763748\n",
      "Average F1 (with kmeans for  proto_ipv6-frag / service_dns )=  91.4212929431 +- 3.54565767305\n",
      "('f1: ', 17, u'stcpb')\n",
      "('f2: ', 163, u'proto_wb-expak')\n",
      "Average accuracy (with kmeans for  stcpb / proto_wb-expak )=  91.5371660859 +- 3.91777877352\n",
      "Average F1 (with kmeans for  stcpb / proto_wb-expak )=  92.0958436719 +- 3.80985102525\n",
      "('f1: ', 69, u'proto_ggp')\n",
      "('f2: ', 74, u'proto_iatp')\n",
      "Average accuracy (with kmeans for  proto_ggp / proto_iatp )=  90.781068525 +- 3.68850391085\n",
      "Average F1 (with kmeans for  proto_ggp / proto_iatp )=  91.4739659271 +- 3.32492785054\n",
      "('f1: ', 21, u'synack')\n",
      "('f2: ', 52, u'proto_chaos')\n",
      "Average accuracy (with kmeans for  synack / proto_chaos )=  91.524970964 +- 3.07156625467\n",
      "Average F1 (with kmeans for  synack / proto_chaos )=  92.0518569577 +- 3.17794423634\n",
      "('f1: ', 110, u'proto_mtp')\n",
      "('f2: ', 118, u'proto_pim')\n",
      "Average accuracy (with kmeans for  proto_mtp / proto_pim )=  91.274970964 +- 3.04582967925\n",
      "Average F1 (with kmeans for  proto_mtp / proto_pim )=  91.7724434685 +- 3.14184102021\n",
      "('f1: ', 52, u'proto_chaos')\n",
      "('f2: ', 80, u'proto_igmp')\n",
      "Average accuracy (with kmeans for  proto_chaos / proto_igmp )=  90.0844947735 +- 4.04303973507\n",
      "Average F1 (with kmeans for  proto_chaos / proto_igmp )=  90.6142330107 +- 3.8903734984\n",
      "('f1: ', 82, u'proto_il')\n",
      "('f2: ', 102, u'proto_larp')\n",
      "Average accuracy (with kmeans for  proto_il / proto_larp )=  91.0429732869 +- 3.70133735591\n",
      "Average F1 (with kmeans for  proto_il / proto_larp )=  91.7059672799 +- 3.32997295574\n",
      "('f1: ', 3, u'sbytes')\n",
      "('f2: ', 98, u'proto_iso-ip')\n",
      "Average accuracy (with kmeans for  sbytes / proto_iso-ip )=  90.0847851336 +- 3.89859110974\n",
      "Average F1 (with kmeans for  sbytes / proto_iso-ip )=  90.6709231745 +- 4.0323428299\n",
      "('f1: ', 152, u'proto_tp++')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_tp++ / proto_visa )=  90.7987804878 +- 3.67492629041\n",
      "Average F1 (with kmeans for  proto_tp++ / proto_visa )=  91.3529682853 +- 3.72569126292\n",
      "('f1: ', 53, u'proto_compaq-peer')\n",
      "('f2: ', 101, u'proto_l2tp')\n",
      "Average accuracy (with kmeans for  proto_compaq-peer / proto_l2tp )=  90.7990708479 +- 4.00590548774\n",
      "Average F1 (with kmeans for  proto_compaq-peer / proto_l2tp )=  91.4905237123 +- 3.8389525458\n",
      "('f1: ', 5, u'rate')\n",
      "('f2: ', 75, u'proto_ib')\n",
      "Average accuracy (with kmeans for  rate / proto_ib )=  90.5429732869 +- 3.83735557552\n",
      "Average F1 (with kmeans for  rate / proto_ib )=  91.2710424739 +- 3.48860591963\n",
      "('f1: ', 13, u'dinpkt')\n",
      "('f2: ', 118, u'proto_pim')\n",
      "Average accuracy (with kmeans for  dinpkt / proto_pim )=  90.5548780488 +- 4.11428781305\n",
      "Average F1 (with kmeans for  dinpkt / proto_pim )=  91.1912032237 +- 3.84291545092\n",
      "('f1: ', 89, u'proto_ippc')\n",
      "('f2: ', 119, u'proto_pipe')\n",
      "Average accuracy (with kmeans for  proto_ippc / proto_pipe )=  90.7990708479 +- 3.97678921654\n",
      "Average F1 (with kmeans for  proto_ippc / proto_pipe )=  91.2927113405 +- 3.80768181951\n",
      "('f1: ', 21, u'synack')\n",
      "('f2: ', 155, u'proto_ttp')\n",
      "Average accuracy (with kmeans for  synack / proto_ttp )=  90.0548780488 +- 2.97167994797\n",
      "Average F1 (with kmeans for  synack / proto_ttp )=  90.7840011572 +- 2.92902455848\n",
      "('f1: ', 119, u'proto_pipe')\n",
      "('f2: ', 170, u'service_-')\n",
      "Average accuracy (with kmeans for  proto_pipe / service_- )=  90.3228803717 +- 3.84211053602\n",
      "Average F1 (with kmeans for  proto_pipe / service_- )=  91.0056869614 +- 3.58372579763\n",
      "('f1: ', 14, u'sjit')\n",
      "('f2: ', 123, u'proto_ptp')\n",
      "Average accuracy (with kmeans for  sjit / proto_ptp )=  91.0490708479 +- 3.70273457768\n",
      "Average F1 (with kmeans for  sjit / proto_ptp )=  91.596824858 +- 3.73288818633\n",
      "('f1: ', 0, u'dur')\n",
      "('f2: ', 98, u'proto_iso-ip')\n",
      "Average accuracy (with kmeans for  dur / proto_iso-ip )=  89.3347851336 +- 3.90800168748\n",
      "Average F1 (with kmeans for  dur / proto_iso-ip )=  90.0857717162 +- 3.66122324433\n",
      "('f1: ', 39, u'proto_3pc')\n",
      "('f2: ', 112, u'proto_narp')\n",
      "Average accuracy (with kmeans for  proto_3pc / proto_narp )=  91.0487804878 +- 3.67311146568\n",
      "Average F1 (with kmeans for  proto_3pc / proto_narp )=  91.6162632824 +- 3.37702818299\n",
      "('f1: ', 104, u'proto_leaf-2')\n",
      "('f2: ', 175, u'service_http')\n",
      "Average accuracy (with kmeans for  proto_leaf-2 / service_http )=  90.0725900116 +- 2.87954436716\n",
      "Average F1 (with kmeans for  proto_leaf-2 / service_http )=  90.8140882509 +- 2.6838775754\n",
      "('f1: ', 12, u'sinpkt')\n",
      "('f2: ', 158, u'proto_uti')\n",
      "Average accuracy (with kmeans for  sinpkt / proto_uti )=  90.531068525 +- 4.30587060497\n",
      "Average F1 (with kmeans for  sinpkt / proto_uti )=  91.2257429479 +- 3.78613191338\n",
      "('f1: ', 62, u'proto_egp')\n",
      "('f2: ', 173, u'service_ftp')\n",
      "Average accuracy (with kmeans for  proto_egp / service_ftp )=  91.524970964 +- 3.37841464328\n",
      "Average F1 (with kmeans for  proto_egp / service_ftp )=  92.0971722258 +- 3.0806011624\n",
      "('f1: ', 78, u'proto_idrp')\n",
      "('f2: ', 134, u'proto_sctp')\n",
      "Average accuracy (with kmeans for  proto_idrp / proto_sctp )=  91.9892566783 +- 2.42262212313\n",
      "Average F1 (with kmeans for  proto_idrp / proto_sctp )=  92.5837847453 +- 2.2366595097\n",
      "('f1: ', 36, u'ct_src_ltm')\n",
      "('f2: ', 172, u'service_dns')\n",
      "Average accuracy (with kmeans for  ct_src_ltm / service_dns )=  90.0670731707 +- 3.49585138337\n",
      "Average F1 (with kmeans for  ct_src_ltm / service_dns )=  90.825719484 +- 3.27601974425\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 116, u'proto_ospf')\n",
      "Average accuracy (with kmeans for  proto_igp / proto_ospf )=  89.6024970964 +- 4.51184261221\n",
      "Average F1 (with kmeans for  proto_igp / proto_ospf )=  90.3101374369 +- 4.2142339726\n",
      "('f1: ', 64, u'proto_emcon')\n",
      "('f2: ', 99, u'proto_iso-tp4')\n",
      "Average accuracy (with kmeans for  proto_emcon / proto_iso-tp4 )=  89.5905923345 +- 3.80764950811\n",
      "Average F1 (with kmeans for  proto_emcon / proto_iso-tp4 )=  90.2081175105 +- 3.65519403229\n",
      "('f1: ', 65, u'proto_encap')\n",
      "('f2: ', 139, u'proto_sm')\n",
      "Average accuracy (with kmeans for  proto_encap / proto_sm )=  89.5789779326 +- 3.39572170153\n",
      "Average F1 (with kmeans for  proto_encap / proto_sm )=  90.273576211 +- 3.35646381674\n",
      "('f1: ', 2, u'dpkts')\n",
      "('f2: ', 92, u'proto_ipv6-no')\n",
      "Average accuracy (with kmeans for  dpkts / proto_ipv6-no )=  89.0966898955 +- 3.05578048511\n",
      "Average F1 (with kmeans for  dpkts / proto_ipv6-no )=  90.0264618179 +- 2.71065901959\n",
      "('f1: ', 108, u'proto_micp')\n",
      "('f2: ', 155, u'proto_ttp')\n",
      "Average accuracy (with kmeans for  proto_micp / proto_ttp )=  90.0667828107 +- 3.75463586949\n",
      "Average F1 (with kmeans for  proto_micp / proto_ttp )=  90.7893573814 +- 3.4250507577\n",
      "('f1: ', 112, u'proto_narp')\n",
      "('f2: ', 118, u'proto_pim')\n",
      "Average accuracy (with kmeans for  proto_narp / proto_pim )=  89.6024970964 +- 4.25313414568\n",
      "Average F1 (with kmeans for  proto_narp / proto_pim )=  90.3466174775 +- 3.9976087861\n",
      "('f1: ', 117, u'proto_pgm')\n",
      "('f2: ', 119, u'proto_pipe')\n",
      "Average accuracy (with kmeans for  proto_pgm / proto_pipe )=  89.6085946574 +- 4.13515275151\n",
      "Average F1 (with kmeans for  proto_pgm / proto_pipe )=  90.3613344678 +- 3.86112545515\n",
      "('f1: ', 63, u'proto_eigrp')\n",
      "('f2: ', 172, u'service_dns')\n",
      "Average accuracy (with kmeans for  proto_eigrp / service_dns )=  90.0728803717 +- 3.29156391592\n",
      "Average F1 (with kmeans for  proto_eigrp / service_dns )=  90.7890965886 +- 3.06149496661\n",
      "('f1: ', 152, u'proto_tp++')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  proto_tp++ / service_pop3 )=  90.5667828107 +- 3.9216255759\n",
      "Average F1 (with kmeans for  proto_tp++ / service_pop3 )=  91.2026063312 +- 3.63224493957\n",
      "('f1: ', 121, u'proto_pri-enc')\n",
      "('f2: ', 145, u'proto_st2')\n",
      "Average accuracy (with kmeans for  proto_pri-enc / proto_st2 )=  90.2929732869 +- 2.83888789078\n",
      "Average F1 (with kmeans for  proto_pri-enc / proto_st2 )=  91.0646197178 +- 2.54445868213\n",
      "('f1: ', 59, u'proto_ddp')\n",
      "('f2: ', 179, u'service_smtp')\n",
      "Average accuracy (with kmeans for  proto_ddp / service_smtp )=  90.0847851336 +- 4.58741670638\n",
      "Average F1 (with kmeans for  proto_ddp / service_smtp )=  90.7500021503 +- 4.25105071252\n",
      "('f1: ', 10, u'sloss')\n",
      "('f2: ', 17, u'stcpb')\n",
      "Average accuracy (with kmeans for  sloss / stcpb )=  91.0429732869 +- 3.71643115321\n",
      "Average F1 (with kmeans for  sloss / stcpb )=  91.7954079087 +- 3.39955231332\n",
      "('f1: ', 72, u'proto_hmp')\n",
      "('f2: ', 154, u'proto_trunk-2')\n",
      "Average accuracy (with kmeans for  proto_hmp / proto_trunk-2 )=  89.8463995354 +- 3.94158163302\n",
      "Average F1 (with kmeans for  proto_hmp / proto_trunk-2 )=  90.5942169561 +- 3.55860398574\n",
      "('f1: ', 131, u'proto_sat-mon')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_sat-mon / proto_visa )=  89.0908826945 +- 4.22662997327\n",
      "Average F1 (with kmeans for  proto_sat-mon / proto_visa )=  89.8128800684 +- 3.85397224003\n",
      "('f1: ', 72, u'proto_hmp')\n",
      "('f2: ', 88, u'proto_ipnip')\n",
      "Average accuracy (with kmeans for  proto_hmp / proto_ipnip )=  89.5786875726 +- 4.73129279284\n",
      "Average F1 (with kmeans for  proto_hmp / proto_ipnip )=  90.331983761 +- 4.21233743764\n",
      "('f1: ', 61, u'proto_dgp')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_dgp / service_radius )=  90.8109756098 +- 3.3478500891\n",
      "Average F1 (with kmeans for  proto_dgp / service_radius )=  91.4347278998 +- 3.24901146285\n",
      "('f1: ', 33, u'is_ftp_login')\n",
      "('f2: ', 145, u'proto_st2')\n",
      "Average accuracy (with kmeans for  is_ftp_login / proto_st2 )=  91.0548780488 +- 3.98623379344\n",
      "Average F1 (with kmeans for  is_ftp_login / proto_st2 )=  91.6268341069 +- 3.66785191524\n",
      "('f1: ', 32, u'ct_dst_src_ltm')\n",
      "('f2: ', 45, u'proto_arp')\n",
      "Average accuracy (with kmeans for  ct_dst_src_ltm / proto_arp )=  90.5667828107 +- 3.74338536697\n",
      "Average F1 (with kmeans for  ct_dst_src_ltm / proto_arp )=  91.2293786511 +- 3.58584755799\n",
      "('f1: ', 8, u'sload')\n",
      "('f2: ', 136, u'proto_secure-vmtp')\n",
      "Average accuracy (with kmeans for  sload / proto_secure-vmtp )=  90.5490708479 +- 3.13081020013\n",
      "Average F1 (with kmeans for  sload / proto_secure-vmtp )=  91.2259529253 +- 3.10397817245\n",
      "('f1: ', 51, u'proto_cftp')\n",
      "('f2: ', 63, u'proto_eigrp')\n",
      "Average accuracy (with kmeans for  proto_cftp / proto_eigrp )=  91.2868757259 +- 2.83907657\n",
      "Average F1 (with kmeans for  proto_cftp / proto_eigrp )=  91.9560711354 +- 2.68633798593\n",
      "('f1: ', 101, u'proto_l2tp')\n",
      "('f2: ', 176, u'service_irc')\n",
      "Average accuracy (with kmeans for  proto_l2tp / service_irc )=  91.5130662021 +- 2.91642766266\n",
      "Average F1 (with kmeans for  proto_l2tp / service_irc )=  92.1240391489 +- 2.78376283218\n",
      "('f1: ', 51, u'proto_cftp')\n",
      "('f2: ', 66, u'proto_etherip')\n",
      "Average accuracy (with kmeans for  proto_cftp / proto_etherip )=  90.5606852497 +- 4.17780432824\n",
      "Average F1 (with kmeans for  proto_cftp / proto_etherip )=  91.2041253697 +- 3.81396293414\n",
      "('f1: ', 39, u'proto_3pc')\n",
      "('f2: ', 137, u'proto_sep')\n",
      "Average accuracy (with kmeans for  proto_3pc / proto_sep )=  90.5609756098 +- 4.35646750388\n",
      "Average F1 (with kmeans for  proto_3pc / proto_sep )=  91.2785847741 +- 4.0595751404\n",
      "('f1: ', 66, u'proto_etherip')\n",
      "('f2: ', 131, u'proto_sat-mon')\n",
      "Average accuracy (with kmeans for  proto_etherip / proto_sat-mon )=  90.0667828107 +- 2.70084605708\n",
      "Average F1 (with kmeans for  proto_etherip / proto_sat-mon )=  90.7447133369 +- 2.71814982192\n",
      "('f1: ', 61, u'proto_dgp')\n",
      "('f2: ', 99, u'proto_iso-tp4')\n",
      "Average accuracy (with kmeans for  proto_dgp / proto_iso-tp4 )=  91.018873403 +- 3.27945610376\n",
      "Average F1 (with kmeans for  proto_dgp / proto_iso-tp4 )=  91.7351746164 +- 2.80175375612\n",
      "('f1: ', 78, u'proto_idrp')\n",
      "('f2: ', 145, u'proto_st2')\n",
      "Average accuracy (with kmeans for  proto_idrp / proto_st2 )=  90.8048780488 +- 3.8356779302\n",
      "Average F1 (with kmeans for  proto_idrp / proto_st2 )=  91.3992132557 +- 3.62320149828\n",
      "('f1: ', 117, u'proto_pgm')\n",
      "('f2: ', 161, u'proto_vmtp')\n",
      "Average accuracy (with kmeans for  proto_pgm / proto_vmtp )=  89.8347851336 +- 4.78531969724\n",
      "Average F1 (with kmeans for  proto_pgm / proto_vmtp )=  90.5759858324 +- 4.31942059425\n",
      "('f1: ', 73, u'proto_i-nlsp')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  proto_i-nlsp / state_FIN )=  91.0426829268 +- 4.31898060507\n",
      "Average F1 (with kmeans for  proto_i-nlsp / state_FIN )=  91.6773280099 +- 3.75375441539\n",
      "('f1: ', 127, u'proto_rdp')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  proto_rdp / service_snmp )=  90.3051684088 +- 4.2201641661\n",
      "Average F1 (with kmeans for  proto_rdp / service_snmp )=  91.0534906528 +- 3.85334340116\n",
      "('f1: ', 64, u'proto_emcon')\n",
      "('f2: ', 73, u'proto_i-nlsp')\n",
      "Average accuracy (with kmeans for  proto_emcon / proto_i-nlsp )=  90.3167828107 +- 3.54841538082\n",
      "Average F1 (with kmeans for  proto_emcon / proto_i-nlsp )=  90.9742588831 +- 3.20813916379\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 124, u'proto_pup')\n",
      "Average accuracy (with kmeans for  swin / proto_pup )=  90.2987804878 +- 3.69391286676\n",
      "Average F1 (with kmeans for  swin / proto_pup )=  90.9186562778 +- 3.45004478734\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 144, u'proto_srp')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / proto_srp )=  90.2990708479 +- 3.04512639823\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / proto_srp )=  91.0400702779 +- 2.95526290627\n",
      "('f1: ', 123, u'proto_ptp')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  proto_ptp / state_ACC )=  89.3408826945 +- 4.19898316068\n",
      "Average F1 (with kmeans for  proto_ptp / state_ACC )=  90.1780536893 +- 3.71923946948\n",
      "('f1: ', 111, u'proto_mux')\n",
      "('f2: ', 120, u'proto_pnni')\n",
      "Average accuracy (with kmeans for  proto_mux / proto_pnni )=  91.0371660859 +- 3.59810903239\n",
      "Average F1 (with kmeans for  proto_mux / proto_pnni )=  91.7315301303 +- 3.30213618761\n",
      "('f1: ', 95, u'proto_ipx-n-ip')\n",
      "('f2: ', 105, u'proto_merit-inp')\n",
      "Average accuracy (with kmeans for  proto_ipx-n-ip / proto_merit-inp )=  90.0548780488 +- 3.65595802841\n",
      "Average F1 (with kmeans for  proto_ipx-n-ip / proto_merit-inp )=  90.8581426062 +- 3.30245724331\n",
      "('f1: ', 96, u'proto_irtp')\n",
      "('f2: ', 155, u'proto_ttp')\n",
      "Average accuracy (with kmeans for  proto_irtp / proto_ttp )=  90.3167828107 +- 4.45584723183\n",
      "Average F1 (with kmeans for  proto_irtp / proto_ttp )=  91.0917098397 +- 4.05889443035\n",
      "('f1: ', 100, u'proto_kryptolan')\n",
      "('f2: ', 159, u'proto_vines')\n",
      "Average accuracy (with kmeans for  proto_kryptolan / proto_vines )=  90.5548780488 +- 4.11428781305\n",
      "Average F1 (with kmeans for  proto_kryptolan / proto_vines )=  91.3171255228 +- 3.5155183424\n",
      "('f1: ', 55, u'proto_cpnx')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_cpnx / proto_sprite-rpc )=  89.8405923345 +- 4.52745236455\n",
      "Average F1 (with kmeans for  proto_cpnx / proto_sprite-rpc )=  90.6483587938 +- 4.08981351781\n",
      "('f1: ', 181, u'service_ssh')\n",
      "('f2: ', 182, u'service_ssl')\n",
      "Average accuracy (with kmeans for  service_ssh / service_ssl )=  91.031068525 +- 3.2391170781\n",
      "Average F1 (with kmeans for  service_ssh / service_ssl )=  91.7425651538 +- 2.8749800261\n",
      "('f1: ', 159, u'proto_vines')\n",
      "('f2: ', 181, u'service_ssh')\n",
      "Average accuracy (with kmeans for  proto_vines / service_ssh )=  90.3167828107 +- 3.53200206157\n",
      "Average F1 (with kmeans for  proto_vines / service_ssh )=  91.1144490975 +- 3.20341591983\n",
      "('f1: ', 75, u'proto_ib')\n",
      "('f2: ', 157, u'proto_unas')\n",
      "Average accuracy (with kmeans for  proto_ib / proto_unas )=  90.7990708479 +- 3.3846935219\n",
      "Average F1 (with kmeans for  proto_ib / proto_unas )=  91.5621872534 +- 3.13388632934\n",
      "('f1: ', 35, u'ct_flw_http_mthd')\n",
      "('f2: ', 80, u'proto_igmp')\n",
      "Average accuracy (with kmeans for  ct_flw_http_mthd / proto_igmp )=  90.7871660859 +- 3.54979245806\n",
      "Average F1 (with kmeans for  ct_flw_http_mthd / proto_igmp )=  91.445666285 +- 3.21460366338\n",
      "('f1: ', 92, u'proto_ipv6-no')\n",
      "('f2: ', 174, u'service_ftp-data')\n",
      "Average accuracy (with kmeans for  proto_ipv6-no / service_ftp-data )=  90.5609756098 +- 3.64058974959\n",
      "Average F1 (with kmeans for  proto_ipv6-no / service_ftp-data )=  91.3333694553 +- 3.29713164818\n",
      "('f1: ', 152, u'proto_tp++')\n",
      "('f2: ', 166, u'proto_xnet')\n",
      "Average accuracy (with kmeans for  proto_tp++ / proto_xnet )=  90.5606852497 +- 3.89698284689\n",
      "Average F1 (with kmeans for  proto_tp++ / proto_xnet )=  91.3077937645 +- 3.40479294206\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 93, u'proto_ipv6-opts')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / proto_ipv6-opts )=  90.3167828107 +- 3.38488771849\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / proto_ipv6-opts )=  91.0630549745 +- 3.24571389076\n",
      "('f1: ', 46, u'proto_ax.25')\n",
      "('f2: ', 49, u'proto_br-sat-mon')\n",
      "Average accuracy (with kmeans for  proto_ax.25 / proto_br-sat-mon )=  91.5307781649 +- 3.59371529368\n",
      "Average F1 (with kmeans for  proto_ax.25 / proto_br-sat-mon )=  92.2159935342 +- 3.08216954746\n",
      "('f1: ', 114, u'proto_nsfnet-igp')\n",
      "('f2: ', 171, u'service_dhcp')\n",
      "Average accuracy (with kmeans for  proto_nsfnet-igp / service_dhcp )=  90.7807781649 +- 3.39462175499\n",
      "Average F1 (with kmeans for  proto_nsfnet-igp / service_dhcp )=  91.4407831594 +- 2.9010081243\n",
      "('f1: ', 65, u'proto_encap')\n",
      "('f2: ', 158, u'proto_uti')\n",
      "Average accuracy (with kmeans for  proto_encap / proto_uti )=  90.8048780488 +- 3.8356779302\n",
      "Average F1 (with kmeans for  proto_encap / proto_uti )=  91.3452246724 +- 3.85448444206\n",
      "('f1: ', 145, u'proto_st2')\n",
      "('f2: ', 165, u'proto_wsn')\n",
      "Average accuracy (with kmeans for  proto_st2 / proto_wsn )=  90.0551684088 +- 4.64516855256\n",
      "Average F1 (with kmeans for  proto_st2 / proto_wsn )=  90.8071630251 +- 4.2267216289\n",
      "('f1: ', 113, u'proto_netblt')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_netblt / proto_sprite-rpc )=  91.5072590012 +- 3.53116030439\n",
      "Average F1 (with kmeans for  proto_netblt / proto_sprite-rpc )=  92.1358148922 +- 3.23309558975\n",
      "('f1: ', 101, u'proto_l2tp')\n",
      "('f2: ', 131, u'proto_sat-mon')\n",
      "Average accuracy (with kmeans for  proto_l2tp / proto_sat-mon )=  90.3048780488 +- 4.62613122178\n",
      "Average F1 (with kmeans for  proto_l2tp / proto_sat-mon )=  91.0983165442 +- 4.02443039453\n",
      "('f1: ', 127, u'proto_rdp')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  proto_rdp / state_ACC )=  91.0490708479 +- 3.71085911313\n",
      "Average F1 (with kmeans for  proto_rdp / state_ACC )=  91.7701194765 +- 3.35290793266\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 106, u'proto_mfe-nsp')\n",
      "Average accuracy (with kmeans for  swin / proto_mfe-nsp )=  90.7929732869 +- 2.80445192958\n",
      "Average F1 (with kmeans for  swin / proto_mfe-nsp )=  91.5051203697 +- 2.8012420696\n",
      "('f1: ', 28, u'ct_state_ttl')\n",
      "('f2: ', 84, u'proto_ipcomp')\n",
      "Average accuracy (with kmeans for  ct_state_ttl / proto_ipcomp )=  91.024970964 +- 2.86522079792\n",
      "Average F1 (with kmeans for  ct_state_ttl / proto_ipcomp )=  91.6393891951 +- 2.91033168451\n",
      "('f1: ', 57, u'proto_crudp')\n",
      "('f2: ', 150, u'proto_tcp')\n",
      "Average accuracy (with kmeans for  proto_crudp / proto_tcp )=  90.0609756098 +- 3.50925481187\n",
      "Average F1 (with kmeans for  proto_crudp / proto_tcp )=  90.8584290348 +- 3.10814335456\n",
      "('f1: ', 28, u'ct_state_ttl')\n",
      "('f2: ', 62, u'proto_egp')\n",
      "Average accuracy (with kmeans for  ct_state_ttl / proto_egp )=  91.0487804878 +- 3.71273566901\n",
      "Average F1 (with kmeans for  ct_state_ttl / proto_egp )=  91.6946550817 +- 3.45125214061\n",
      "('f1: ', 77, u'proto_idpr-cmtp')\n",
      "('f2: ', 125, u'proto_pvp')\n",
      "Average accuracy (with kmeans for  proto_idpr-cmtp / proto_pvp )=  91.4895470383 +- 4.29363442615\n",
      "Average F1 (with kmeans for  proto_idpr-cmtp / proto_pvp )=  92.1197965175 +- 3.84437000087\n",
      "('f1: ', 79, u'proto_ifmp')\n",
      "('f2: ', 133, u'proto_scps')\n",
      "Average accuracy (with kmeans for  proto_ifmp / proto_scps )=  91.031068525 +- 2.86780504035\n",
      "Average F1 (with kmeans for  proto_ifmp / proto_scps )=  91.7934620397 +- 2.65478734003\n",
      "('f1: ', 39, u'proto_3pc')\n",
      "('f2: ', 164, u'proto_wb-mon')\n",
      "Average accuracy (with kmeans for  proto_3pc / proto_wb-mon )=  91.0429732869 +- 3.36394283158\n",
      "Average F1 (with kmeans for  proto_3pc / proto_wb-mon )=  91.7968524471 +- 2.9541265162\n",
      "('f1: ', 104, u'proto_leaf-2')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_leaf-2 / service_radius )=  90.5429732869 +- 2.51474397678\n",
      "Average F1 (with kmeans for  proto_leaf-2 / service_radius )=  91.2993051607 +- 2.43042795875\n",
      "('f1: ', 133, u'proto_scps')\n",
      "('f2: ', 166, u'proto_xnet')\n",
      "Average accuracy (with kmeans for  proto_scps / proto_xnet )=  89.5966898955 +- 3.97950799405\n",
      "Average F1 (with kmeans for  proto_scps / proto_xnet )=  90.3709957978 +- 3.66931999912\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 112, u'proto_narp')\n",
      "Average accuracy (with kmeans for  swin / proto_narp )=  91.0490708479 +- 4.00475330746\n",
      "Average F1 (with kmeans for  swin / proto_narp )=  91.7025916827 +- 3.66006032673\n",
      "('f1: ', 108, u'proto_micp')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_micp / state_CLO )=  90.5548780488 +- 3.67777156229\n",
      "Average F1 (with kmeans for  proto_micp / state_CLO )=  91.3970767425 +- 3.2179413621\n",
      "('f1: ', 143, u'proto_sps')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  proto_sps / state_ACC )=  90.7987804878 +- 3.16030212856\n",
      "Average F1 (with kmeans for  proto_sps / state_ACC )=  91.449188919 +- 2.87829428107\n",
      "('f1: ', 43, u'proto_argus')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  proto_argus / state_ACC )=  90.3225900116 +- 3.67006012224\n",
      "Average F1 (with kmeans for  proto_argus / state_ACC )=  91.0610278113 +- 3.27574542987\n",
      "('f1: ', 90, u'proto_ipv6')\n",
      "('f2: ', 181, u'service_ssh')\n",
      "Average accuracy (with kmeans for  proto_ipv6 / service_ssh )=  89.8408826945 +- 4.88116013683\n",
      "Average F1 (with kmeans for  proto_ipv6 / service_ssh )=  90.6012564843 +- 4.50525717775\n",
      "('f1: ', 32, u'ct_dst_src_ltm')\n",
      "('f2: ', 53, u'proto_compaq-peer')\n",
      "Average accuracy (with kmeans for  ct_dst_src_ltm / proto_compaq-peer )=  90.0670731707 +- 3.09915532729\n",
      "Average F1 (with kmeans for  ct_dst_src_ltm / proto_compaq-peer )=  90.8586089476 +- 3.11914266\n",
      "('f1: ', 47, u'proto_bbn-rcc')\n",
      "('f2: ', 59, u'proto_ddp')\n",
      "Average accuracy (with kmeans for  proto_bbn-rcc / proto_ddp )=  90.0609756098 +- 3.34381256749\n",
      "Average F1 (with kmeans for  proto_bbn-rcc / proto_ddp )=  90.9730692255 +- 2.91315207267\n",
      "('f1: ', 45, u'proto_arp')\n",
      "('f2: ', 123, u'proto_ptp')\n",
      "Average accuracy (with kmeans for  proto_arp / proto_ptp )=  90.3109756098 +- 4.05963894673\n",
      "Average F1 (with kmeans for  proto_arp / proto_ptp )=  91.1226835791 +- 3.59577168225\n",
      "('f1: ', 18, u'dtcpb')\n",
      "('f2: ', 175, u'service_http')\n",
      "Average accuracy (with kmeans for  dtcpb / service_http )=  90.5548780488 +- 3.63006394002\n",
      "Average F1 (with kmeans for  dtcpb / service_http )=  91.1888062828 +- 3.48954830826\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 134, u'proto_sctp')\n",
      "Average accuracy (with kmeans for  response_body_len / proto_sctp )=  92.024970964 +- 2.9949591479\n",
      "Average F1 (with kmeans for  response_body_len / proto_sctp )=  92.6880118212 +- 2.63662090597\n",
      "('f1: ', 104, u'proto_leaf-2')\n",
      "('f2: ', 135, u'proto_sdrp')\n",
      "Average accuracy (with kmeans for  proto_leaf-2 / proto_sdrp )=  91.0606852497 +- 3.34766423329\n",
      "Average F1 (with kmeans for  proto_leaf-2 / proto_sdrp )=  91.6796395699 +- 3.339047339\n",
      "('f1: ', 7, u'dttl')\n",
      "('f2: ', 117, u'proto_pgm')\n",
      "Average accuracy (with kmeans for  dttl / proto_pgm )=  90.5548780488 +- 3.61402145216\n",
      "Average F1 (with kmeans for  dttl / proto_pgm )=  91.3248100995 +- 3.14908073813\n",
      "('f1: ', 22, u'ackdat')\n",
      "('f2: ', 138, u'proto_skip')\n",
      "Average accuracy (with kmeans for  ackdat / proto_skip )=  90.5548780488 +- 3.45360162854\n",
      "Average F1 (with kmeans for  ackdat / proto_skip )=  91.3443186865 +- 2.96524597675\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 124, u'proto_pup')\n",
      "Average accuracy (with kmeans for  proto_igp / proto_pup )=  91.0548780488 +- 3.84138946319\n",
      "Average F1 (with kmeans for  proto_igp / proto_pup )=  91.691743746 +- 3.61660022241\n",
      "('f1: ', 98, u'proto_iso-ip')\n",
      "('f2: ', 121, u'proto_pri-enc')\n",
      "Average accuracy (with kmeans for  proto_iso-ip / proto_pri-enc )=  91.281068525 +- 3.22841013987\n",
      "Average F1 (with kmeans for  proto_iso-ip / proto_pri-enc )=  91.9530509143 +- 2.92345854014\n",
      "('f1: ', 135, u'proto_sdrp')\n",
      "('f2: ', 149, u'proto_tcf')\n",
      "Average accuracy (with kmeans for  proto_sdrp / proto_tcf )=  90.5667828107 +- 2.86841186257\n",
      "Average F1 (with kmeans for  proto_sdrp / proto_tcf )=  91.2475786215 +- 2.77396056407\n",
      "('f1: ', 46, u'proto_ax.25')\n",
      "('f2: ', 129, u'proto_rvd')\n",
      "Average accuracy (with kmeans for  proto_ax.25 / proto_rvd )=  91.2691637631 +- 3.60630414429\n",
      "Average F1 (with kmeans for  proto_ax.25 / proto_rvd )=  91.905825429 +- 3.26549051523\n",
      "('f1: ', 52, u'proto_chaos')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_chaos / proto_sprite-rpc )=  91.774970964 +- 2.86652404119\n",
      "Average F1 (with kmeans for  proto_chaos / proto_sprite-rpc )=  92.3950347146 +- 2.76178271481\n",
      "('f1: ', 90, u'proto_ipv6')\n",
      "('f2: ', 91, u'proto_ipv6-frag')\n",
      "Average accuracy (with kmeans for  proto_ipv6 / proto_ipv6-frag )=  91.524970964 +- 3.39557044602\n",
      "Average F1 (with kmeans for  proto_ipv6 / proto_ipv6-frag )=  92.0768136314 +- 3.13463769303\n",
      "('f1: ', 29, u'ct_dst_ltm')\n",
      "('f2: ', 84, u'proto_ipcomp')\n",
      "Average accuracy (with kmeans for  ct_dst_ltm / proto_ipcomp )=  91.0429732869 +- 3.73260291567\n",
      "Average F1 (with kmeans for  ct_dst_ltm / proto_ipcomp )=  91.6732671563 +- 3.54235560986\n",
      "('f1: ', 31, u'ct_dst_sport_ltm')\n",
      "('f2: ', 69, u'proto_ggp')\n",
      "Average accuracy (with kmeans for  ct_dst_sport_ltm / proto_ggp )=  91.031068525 +- 2.39255214143\n",
      "Average F1 (with kmeans for  ct_dst_sport_ltm / proto_ggp )=  91.669296098 +- 2.71185345513\n",
      "('f1: ', 12, u'sinpkt')\n",
      "('f2: ', 51, u'proto_cftp')\n",
      "Average accuracy (with kmeans for  sinpkt / proto_cftp )=  91.274970964 +- 3.44053926583\n",
      "Average F1 (with kmeans for  sinpkt / proto_cftp )=  91.8605208459 +- 3.21662977147\n",
      "('f1: ', 9, u'dload')\n",
      "('f2: ', 96, u'proto_irtp')\n",
      "Average accuracy (with kmeans for  dload / proto_irtp )=  90.3048780488 +- 2.62029438972\n",
      "Average F1 (with kmeans for  dload / proto_irtp )=  91.1183446605 +- 2.41791878636\n",
      "('f1: ', 98, u'proto_iso-ip')\n",
      "('f2: ', 146, u'proto_stp')\n",
      "Average accuracy (with kmeans for  proto_iso-ip / proto_stp )=  90.7926829268 +- 3.15750870691\n",
      "Average F1 (with kmeans for  proto_iso-ip / proto_stp )=  91.5948927723 +- 2.6144887787\n",
      "('f1: ', 6, u'sttl')\n",
      "('f2: ', 15, u'djit')\n",
      "Average accuracy (with kmeans for  sttl / djit )=  90.7929732869 +- 3.39035198995\n",
      "Average F1 (with kmeans for  sttl / djit )=  91.4527598383 +- 3.45102837656\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 143, u'proto_sps')\n",
      "Average accuracy (with kmeans for  response_body_len / proto_sps )=  90.8106852497 +- 2.7121356144\n",
      "Average F1 (with kmeans for  response_body_len / proto_sps )=  91.5068827372 +- 2.80651341897\n",
      "('f1: ', 96, u'proto_irtp')\n",
      "('f2: ', 117, u'proto_pgm')\n",
      "Average accuracy (with kmeans for  proto_irtp / proto_pgm )=  91.5014518002 +- 3.29351663343\n",
      "Average F1 (with kmeans for  proto_irtp / proto_pgm )=  92.1814581507 +- 3.1225088081\n",
      "('f1: ', 64, u'proto_emcon')\n",
      "('f2: ', 101, u'proto_l2tp')\n",
      "Average accuracy (with kmeans for  proto_emcon / proto_l2tp )=  90.2990708479 +- 4.01640349278\n",
      "Average F1 (with kmeans for  proto_emcon / proto_l2tp )=  91.1517626611 +- 3.58715972413\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 73, u'proto_i-nlsp')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / proto_i-nlsp )=  91.518873403 +- 2.4191263062\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / proto_i-nlsp )=  92.1193664353 +- 2.41196167157\n",
      "('f1: ', 44, u'proto_aris')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  proto_aris / service_pop3 )=  90.2990708479 +- 2.8218013354\n",
      "Average F1 (with kmeans for  proto_aris / service_pop3 )=  90.9858793381 +- 2.88401626919\n",
      "('f1: ', 30, u'ct_src_dport_ltm')\n",
      "('f2: ', 62, u'proto_egp')\n",
      "Average accuracy (with kmeans for  ct_src_dport_ltm / proto_egp )=  91.275261324 +- 3.23373393216\n",
      "Average F1 (with kmeans for  ct_src_dport_ltm / proto_egp )=  91.8759381344 +- 3.14133804278\n",
      "('f1: ', 30, u'ct_src_dport_ltm')\n",
      "('f2: ', 117, u'proto_pgm')\n",
      "Average accuracy (with kmeans for  ct_src_dport_ltm / proto_pgm )=  92.2511614402 +- 2.96452632025\n",
      "Average F1 (with kmeans for  ct_src_dport_ltm / proto_pgm )=  92.81181507 +- 2.85382120443\n",
      "('f1: ', 10, u'sloss')\n",
      "('f2: ', 139, u'proto_sm')\n",
      "Average accuracy (with kmeans for  sloss / proto_sm )=  91.0368757259 +- 3.0440587434\n",
      "Average F1 (with kmeans for  sloss / proto_sm )=  91.792680516 +- 2.75939183526\n",
      "('f1: ', 68, u'proto_fire')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_fire / service_radius )=  90.5609756098 +- 3.61627551054\n",
      "Average F1 (with kmeans for  proto_fire / service_radius )=  91.2893962346 +- 3.43264782596\n",
      "('f1: ', 33, u'is_ftp_login')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  is_ftp_login / service_radius )=  90.8109756098 +- 3.47986504958\n",
      "Average F1 (with kmeans for  is_ftp_login / service_radius )=  91.4507422529 +- 3.46030625875\n",
      "('f1: ', 66, u'proto_etherip')\n",
      "('f2: ', 98, u'proto_iso-ip')\n",
      "Average accuracy (with kmeans for  proto_etherip / proto_iso-ip )=  90.5609756098 +- 3.45596031807\n",
      "Average F1 (with kmeans for  proto_etherip / proto_iso-ip )=  91.323121853 +- 3.27827017599\n",
      "('f1: ', 95, u'proto_ipx-n-ip')\n",
      "('f2: ', 97, u'proto_isis')\n",
      "Average accuracy (with kmeans for  proto_ipx-n-ip / proto_isis )=  90.7929732869 +- 2.80445192958\n",
      "Average F1 (with kmeans for  proto_ipx-n-ip / proto_isis )=  91.5964066099 +- 2.57015196301\n",
      "('f1: ', 70, u'proto_gmtp')\n",
      "('f2: ', 145, u'proto_st2')\n",
      "Average accuracy (with kmeans for  proto_gmtp / proto_st2 )=  90.774970964 +- 3.41588386086\n",
      "Average F1 (with kmeans for  proto_gmtp / proto_st2 )=  91.5156624213 +- 3.00753695275\n",
      "('f1: ', 45, u'proto_arp')\n",
      "('f2: ', 170, u'service_-')\n",
      "Average accuracy (with kmeans for  proto_arp / service_- )=  91.025261324 +- 4.01647621598\n",
      "Average F1 (with kmeans for  proto_arp / service_- )=  91.6252219832 +- 3.63710158631\n",
      "('f1: ', 65, u'proto_encap')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  proto_encap / state_FIN )=  91.7511614402 +- 2.90964308814\n",
      "Average F1 (with kmeans for  proto_encap / state_FIN )=  92.3230556241 +- 2.88494340084\n",
      "('f1: ', 6, u'sttl')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  sttl / state_CLO )=  91.2871660859 +- 3.40941232679\n",
      "Average F1 (with kmeans for  sttl / state_CLO )=  91.9309603939 +- 3.22788667794\n",
      "('f1: ', 13, u'dinpkt')\n",
      "('f2: ', 81, u'proto_igp')\n",
      "Average accuracy (with kmeans for  dinpkt / proto_igp )=  91.281068525 +- 3.06676675589\n",
      "Average F1 (with kmeans for  dinpkt / proto_igp )=  91.8927717445 +- 3.1709674114\n",
      "('f1: ', 54, u'proto_cphb')\n",
      "('f2: ', 161, u'proto_vmtp')\n",
      "Average accuracy (with kmeans for  proto_cphb / proto_vmtp )=  91.7868757259 +- 3.18704673522\n",
      "Average F1 (with kmeans for  proto_cphb / proto_vmtp )=  92.3769482192 +- 3.01950088804\n",
      "('f1: ', 14, u'sjit')\n",
      "('f2: ', 108, u'proto_micp')\n",
      "Average accuracy (with kmeans for  sjit / proto_micp )=  92.5011614402 +- 4.04206490257\n",
      "Average F1 (with kmeans for  sjit / proto_micp )=  93.0320517703 +- 3.67059337329\n",
      "('f1: ', 42, u'proto_any')\n",
      "('f2: ', 135, u'proto_sdrp')\n",
      "Average accuracy (with kmeans for  proto_any / proto_sdrp )=  90.7929732869 +- 2.76270235846\n",
      "Average F1 (with kmeans for  proto_any / proto_sdrp )=  91.5409630022 +- 2.52712129765\n",
      "('f1: ', 158, u'proto_uti')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_uti / service_radius )=  90.3109756098 +- 3.36217537037\n",
      "Average F1 (with kmeans for  proto_uti / service_radius )=  91.0005714592 +- 3.38029154384\n",
      "('f1: ', 78, u'proto_idrp')\n",
      "('f2: ', 165, u'proto_wsn')\n",
      "Average accuracy (with kmeans for  proto_idrp / proto_wsn )=  90.3109756098 +- 3.57584249163\n",
      "Average F1 (with kmeans for  proto_idrp / proto_wsn )=  91.0834154441 +- 3.32836382396\n",
      "('f1: ', 91, u'proto_ipv6-frag')\n",
      "('f2: ', 147, u'proto_sun-nd')\n",
      "Average accuracy (with kmeans for  proto_ipv6-frag / proto_sun-nd )=  91.2868757259 +- 3.05128755943\n",
      "Average F1 (with kmeans for  proto_ipv6-frag / proto_sun-nd )=  91.9851434706 +- 2.84254674691\n",
      "('f1: ', 156, u'proto_udp')\n",
      "('f2: ', 165, u'proto_wsn')\n",
      "Average accuracy (with kmeans for  proto_udp / proto_wsn )=  90.7990708479 +- 3.32374469186\n",
      "Average F1 (with kmeans for  proto_udp / proto_wsn )=  91.4387643267 +- 3.26428391986\n",
      "('f1: ', 74, u'proto_iatp')\n",
      "('f2: ', 81, u'proto_igp')\n",
      "Average accuracy (with kmeans for  proto_iatp / proto_igp )=  90.531358885 +- 3.83567577614\n",
      "Average F1 (with kmeans for  proto_iatp / proto_igp )=  91.2627905927 +- 3.54268408771\n",
      "('f1: ', 31, u'ct_dst_sport_ltm')\n",
      "('f2: ', 67, u'proto_fc')\n",
      "Average accuracy (with kmeans for  ct_dst_sport_ltm / proto_fc )=  90.5606852497 +- 4.01793690846\n",
      "Average F1 (with kmeans for  ct_dst_sport_ltm / proto_fc )=  91.2519872076 +- 3.60792896401\n",
      "('f1: ', 60, u'proto_ddx')\n",
      "('f2: ', 117, u'proto_pgm')\n",
      "Average accuracy (with kmeans for  proto_ddx / proto_pgm )=  90.7987804878 +- 2.74654158733\n",
      "Average F1 (with kmeans for  proto_ddx / proto_pgm )=  91.4765475262 +- 2.69705817113\n",
      "('f1: ', 84, u'proto_ipcomp')\n",
      "('f2: ', 139, u'proto_sm')\n",
      "Average accuracy (with kmeans for  proto_ipcomp / proto_sm )=  91.7630662021 +- 3.58422440743\n",
      "Average F1 (with kmeans for  proto_ipcomp / proto_sm )=  92.3556609521 +- 3.27270196906\n",
      "('f1: ', 82, u'proto_il')\n",
      "('f2: ', 131, u'proto_sat-mon')\n",
      "Average accuracy (with kmeans for  proto_il / proto_sat-mon )=  92.0072590012 +- 2.84528046811\n",
      "Average F1 (with kmeans for  proto_il / proto_sat-mon )=  92.5532116849 +- 2.87595736436\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 179, u'service_smtp')\n",
      "Average accuracy (with kmeans for  proto_igp / service_smtp )=  90.3051684088 +- 2.83587938613\n",
      "Average F1 (with kmeans for  proto_igp / service_smtp )=  91.0019196052 +- 3.09488339581\n",
      "('f1: ', 48, u'proto_bna')\n",
      "('f2: ', 65, u'proto_encap')\n",
      "Average accuracy (with kmeans for  proto_bna / proto_encap )=  91.0429732869 +- 3.1909754819\n",
      "Average F1 (with kmeans for  proto_bna / proto_encap )=  91.5967166888 +- 3.17957421183\n",
      "('f1: ', 177, u'service_pop3')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  service_pop3 / state_FIN )=  91.5130662021 +- 2.20720716369\n",
      "Average F1 (with kmeans for  service_pop3 / state_FIN )=  92.1213837585 +- 2.31865301523\n",
      "('f1: ', 60, u'proto_ddx')\n",
      "('f2: ', 75, u'proto_ib')\n",
      "Average accuracy (with kmeans for  proto_ddx / proto_ib )=  91.0490708479 +- 3.86784737971\n",
      "Average F1 (with kmeans for  proto_ddx / proto_ib )=  91.7018422554 +- 3.69941774813\n",
      "('f1: ', 37, u'ct_srv_dst')\n",
      "('f2: ', 71, u'proto_gre')\n",
      "Average accuracy (with kmeans for  ct_srv_dst / proto_gre )=  91.7392566783 +- 2.93530139609\n",
      "Average F1 (with kmeans for  ct_srv_dst / proto_gre )=  92.3677365377 +- 2.6676402545\n",
      "('f1: ', 36, u'ct_src_ltm')\n",
      "('f2: ', 125, u'proto_pvp')\n",
      "Average accuracy (with kmeans for  ct_src_ltm / proto_pvp )=  90.0609756098 +- 3.08580800213\n",
      "Average F1 (with kmeans for  ct_src_ltm / proto_pvp )=  90.7384502471 +- 3.20048588474\n",
      "('f1: ', 0, u'dur')\n",
      "('f2: ', 103, u'proto_leaf-1')\n",
      "Average accuracy (with kmeans for  dur / proto_leaf-1 )=  90.0609756098 +- 3.62711977664\n",
      "Average F1 (with kmeans for  dur / proto_leaf-1 )=  90.8728358863 +- 3.24863733465\n",
      "('f1: ', 104, u'proto_leaf-2')\n",
      "('f2: ', 162, u'proto_vrrp')\n",
      "Average accuracy (with kmeans for  proto_leaf-2 / proto_vrrp )=  91.2572590012 +- 2.72378586602\n",
      "Average F1 (with kmeans for  proto_leaf-2 / proto_vrrp )=  91.9007772111 +- 2.5398121732\n",
      "('f1: ', 51, u'proto_cftp')\n",
      "('f2: ', 127, u'proto_rdp')\n",
      "Average accuracy (with kmeans for  proto_cftp / proto_rdp )=  90.7871660859 +- 3.17821120998\n",
      "Average F1 (with kmeans for  proto_cftp / proto_rdp )=  91.4282140331 +- 3.05116478654\n",
      "('f1: ', 110, u'proto_mtp')\n",
      "('f2: ', 162, u'proto_vrrp')\n",
      "Average accuracy (with kmeans for  proto_mtp / proto_vrrp )=  91.274970964 +- 2.42398801374\n",
      "Average F1 (with kmeans for  proto_mtp / proto_vrrp )=  91.9319713294 +- 2.33750372926\n",
      "('f1: ', 3, u'sbytes')\n",
      "('f2: ', 170, u'service_-')\n",
      "Average accuracy (with kmeans for  sbytes / service_- )=  90.5609756098 +- 3.45596031807\n",
      "Average F1 (with kmeans for  sbytes / service_- )=  91.2538236074 +- 3.36162999146\n",
      "('f1: ', 12, u'sinpkt')\n",
      "('f2: ', 185, u'state_CON')\n",
      "Average accuracy (with kmeans for  sinpkt / state_CON )=  90.7990708479 +- 3.83158787251\n",
      "Average F1 (with kmeans for  sinpkt / state_CON )=  91.5668655489 +- 3.47254859489\n",
      "('f1: ', 69, u'proto_ggp')\n",
      "('f2: ', 115, u'proto_nvp')\n",
      "Average accuracy (with kmeans for  proto_ggp / proto_nvp )=  89.8347851336 +- 3.12831128751\n",
      "Average F1 (with kmeans for  proto_ggp / proto_nvp )=  90.6457107347 +- 3.06988264024\n",
      "('f1: ', 43, u'proto_argus')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_argus / proto_sprite-rpc )=  90.5725900116 +- 3.24425136172\n",
      "Average F1 (with kmeans for  proto_argus / proto_sprite-rpc )=  91.2086477441 +- 3.25467543298\n",
      "('f1: ', 63, u'proto_eigrp')\n",
      "('f2: ', 103, u'proto_leaf-1')\n",
      "Average accuracy (with kmeans for  proto_eigrp / proto_leaf-1 )=  91.0133565621 +- 3.97143301081\n",
      "Average F1 (with kmeans for  proto_eigrp / proto_leaf-1 )=  91.6544159974 +- 3.70656117456\n",
      "('f1: ', 155, u'proto_ttp')\n",
      "('f2: ', 167, u'proto_xns-idp')\n",
      "Average accuracy (with kmeans for  proto_ttp / proto_xns-idp )=  90.0728803717 +- 3.42574861261\n",
      "Average F1 (with kmeans for  proto_ttp / proto_xns-idp )=  90.7648836671 +- 3.37193720313\n",
      "('f1: ', 11, u'dloss')\n",
      "('f2: ', 49, u'proto_br-sat-mon')\n",
      "Average accuracy (with kmeans for  dloss / proto_br-sat-mon )=  90.5371660859 +- 2.53095811779\n",
      "Average F1 (with kmeans for  dloss / proto_br-sat-mon )=  91.2177337283 +- 2.75599788165\n",
      "('f1: ', 56, u'proto_crtp')\n",
      "('f2: ', 174, u'service_ftp-data')\n",
      "Average accuracy (with kmeans for  proto_crtp / service_ftp-data )=  91.024970964 +- 3.93408997317\n",
      "Average F1 (with kmeans for  proto_crtp / service_ftp-data )=  91.6225252473 +- 3.55478990039\n",
      "('f1: ', 48, u'proto_bna')\n",
      "('f2: ', 50, u'proto_cbt')\n",
      "Average accuracy (with kmeans for  proto_bna / proto_cbt )=  89.1027874564 +- 3.73671021173\n",
      "Average F1 (with kmeans for  proto_bna / proto_cbt )=  89.9577812746 +- 3.56954446795\n",
      "('f1: ', 14, u'sjit')\n",
      "('f2: ', 42, u'proto_any')\n",
      "Average accuracy (with kmeans for  sjit / proto_any )=  90.5606852497 +- 3.23649235438\n",
      "Average F1 (with kmeans for  sjit / proto_any )=  91.3178668386 +- 3.01749551033\n",
      "('f1: ', 45, u'proto_arp')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_arp / state_CLO )=  90.5371660859 +- 2.96471513675\n",
      "Average F1 (with kmeans for  proto_arp / state_CLO )=  91.1842808867 +- 2.98651879593\n",
      "('f1: ', 6, u'sttl')\n",
      "('f2: ', 174, u'service_ftp-data')\n",
      "Average accuracy (with kmeans for  sttl / service_ftp-data )=  90.3167828107 +- 3.34974442388\n",
      "Average F1 (with kmeans for  sttl / service_ftp-data )=  91.007394197 +- 3.2598038699\n",
      "('f1: ', 70, u'proto_gmtp')\n",
      "('f2: ', 152, u'proto_tp++')\n",
      "Average accuracy (with kmeans for  proto_gmtp / proto_tp++ )=  91.0371660859 +- 3.57350576497\n",
      "Average F1 (with kmeans for  proto_gmtp / proto_tp++ )=  91.693524371 +- 3.42823569207\n",
      "('f1: ', 6, u'sttl')\n",
      "('f2: ', 116, u'proto_ospf')\n",
      "Average accuracy (with kmeans for  sttl / proto_ospf )=  90.7929732869 +- 2.31623630602\n",
      "Average F1 (with kmeans for  sttl / proto_ospf )=  91.3937324052 +- 2.44014710201\n",
      "('f1: ', 28, u'ct_state_ttl')\n",
      "('f2: ', 105, u'proto_merit-inp')\n",
      "Average accuracy (with kmeans for  ct_state_ttl / proto_merit-inp )=  90.7990708479 +- 3.68066281757\n",
      "Average F1 (with kmeans for  ct_state_ttl / proto_merit-inp )=  91.5023256557 +- 3.59270397387\n",
      "('f1: ', 118, u'proto_pim')\n",
      "('f2: ', 164, u'proto_wb-mon')\n",
      "Average accuracy (with kmeans for  proto_pim / proto_wb-mon )=  90.5371660859 +- 3.11302046031\n",
      "Average F1 (with kmeans for  proto_pim / proto_wb-mon )=  91.2078640314 +- 3.22685101397\n",
      "('f1: ', 29, u'ct_dst_ltm')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  ct_dst_ltm / state_ACC )=  91.0429732869 +- 2.58161787063\n",
      "Average F1 (with kmeans for  ct_dst_ltm / state_ACC )=  91.7111730889 +- 2.51033208021\n",
      "('f1: ', 9, u'dload')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  dload / state_CLO )=  90.0548780488 +- 3.17437093856\n",
      "Average F1 (with kmeans for  dload / state_CLO )=  90.8909486326 +- 2.89818261228\n",
      "('f1: ', 133, u'proto_scps')\n",
      "('f2: ', 182, u'service_ssl')\n",
      "Average accuracy (with kmeans for  proto_scps / service_ssl )=  90.3228803717 +- 3.37052708442\n",
      "Average F1 (with kmeans for  proto_scps / service_ssl )=  90.9946583075 +- 3.37610809538\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 126, u'proto_qnx')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / proto_qnx )=  90.531068525 +- 3.00089557873\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / proto_qnx )=  91.3038881723 +- 2.6480505688\n",
      "('f1: ', 103, u'proto_leaf-1')\n",
      "('f2: ', 165, u'proto_wsn')\n",
      "Average accuracy (with kmeans for  proto_leaf-1 / proto_wsn )=  91.781068525 +- 3.39231140348\n",
      "Average F1 (with kmeans for  proto_leaf-1 / proto_wsn )=  92.3145782342 +- 3.28213606176\n",
      "('f1: ', 154, u'proto_trunk-2')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  proto_trunk-2 / service_snmp )=  90.0551684088 +- 3.79818777017\n",
      "Average F1 (with kmeans for  proto_trunk-2 / service_snmp )=  90.7660347926 +- 3.55605092606\n",
      "('f1: ', 23, u'smean')\n",
      "('f2: ', 164, u'proto_wb-mon')\n",
      "Average accuracy (with kmeans for  smean / proto_wb-mon )=  91.7395470383 +- 3.51449320984\n",
      "Average F1 (with kmeans for  smean / proto_wb-mon )=  92.3563229587 +- 3.29875961428\n",
      "('f1: ', 96, u'proto_irtp')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_irtp / service_radius )=  90.5548780488 +- 3.94422364973\n",
      "Average F1 (with kmeans for  proto_irtp / service_radius )=  91.2322858678 +- 3.67830226408\n",
      "('f1: ', 53, u'proto_compaq-peer')\n",
      "('f2: ', 169, u'proto_zero')\n",
      "Average accuracy (with kmeans for  proto_compaq-peer / proto_zero )=  91.5191637631 +- 3.26584966026\n",
      "Average F1 (with kmeans for  proto_compaq-peer / proto_zero )=  92.079597997 +- 3.23084937532\n",
      "('f1: ', 105, u'proto_merit-inp')\n",
      "('f2: ', 139, u'proto_sm')\n",
      "Average accuracy (with kmeans for  proto_merit-inp / proto_sm )=  90.7929732869 +- 2.54926214293\n",
      "Average F1 (with kmeans for  proto_merit-inp / proto_sm )=  91.4560599898 +- 2.58076071114\n",
      "('f1: ', 13, u'dinpkt')\n",
      "('f2: ', 106, u'proto_mfe-nsp')\n",
      "Average accuracy (with kmeans for  dinpkt / proto_mfe-nsp )=  90.7871660859 +- 3.37679682315\n",
      "Average F1 (with kmeans for  dinpkt / proto_mfe-nsp )=  91.5235765478 +- 3.21495988799\n",
      "('f1: ', 6, u'sttl')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  sttl / service_snmp )=  92.7273519164 +- 2.17252154247\n",
      "Average F1 (with kmeans for  sttl / service_snmp )=  93.2516643934 +- 2.33288074893\n",
      "('f1: ', 58, u'proto_dcn')\n",
      "('f2: ', 71, u'proto_gre')\n",
      "Average accuracy (with kmeans for  proto_dcn / proto_gre )=  91.2929732869 +- 3.40371858076\n",
      "Average F1 (with kmeans for  proto_dcn / proto_gre )=  91.9019833119 +- 3.37661895446\n",
      "('f1: ', 43, u'proto_argus')\n",
      "('f2: ', 59, u'proto_ddp')\n",
      "Average accuracy (with kmeans for  proto_argus / proto_ddp )=  90.3405923345 +- 4.33688749254\n",
      "Average F1 (with kmeans for  proto_argus / proto_ddp )=  90.8868118901 +- 4.21460154702\n",
      "('f1: ', 29, u'ct_dst_ltm')\n",
      "('f2: ', 102, u'proto_larp')\n",
      "Average accuracy (with kmeans for  ct_dst_ltm / proto_larp )=  91.0487804878 +- 3.53187968979\n",
      "Average F1 (with kmeans for  ct_dst_ltm / proto_larp )=  91.6261618798 +- 3.40096848115\n",
      "('f1: ', 53, u'proto_compaq-peer')\n",
      "('f2: ', 143, u'proto_sps')\n",
      "Average accuracy (with kmeans for  proto_compaq-peer / proto_sps )=  91.7334494774 +- 3.3490223924\n",
      "Average F1 (with kmeans for  proto_compaq-peer / proto_sps )=  92.2182259859 +- 3.33194430072\n",
      "('f1: ', 86, u'proto_ipip')\n",
      "('f2: ', 123, u'proto_ptp')\n",
      "Average accuracy (with kmeans for  proto_ipip / proto_ptp )=  91.031068525 +- 2.39255214143\n",
      "Average F1 (with kmeans for  proto_ipip / proto_ptp )=  91.5852628748 +- 2.59177098794\n",
      "('f1: ', 34, u'ct_ftp_cmd')\n",
      "('f2: ', 46, u'proto_ax.25')\n",
      "Average accuracy (with kmeans for  ct_ftp_cmd / proto_ax.25 )=  92.0011614402 +- 3.23674172951\n",
      "Average F1 (with kmeans for  ct_ftp_cmd / proto_ax.25 )=  92.4266997423 +- 3.2910225521\n",
      "('f1: ', 122, u'proto_prm')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  proto_prm / service_snmp )=  92.0011614402 +- 3.05658472408\n",
      "Average F1 (with kmeans for  proto_prm / service_snmp )=  92.5860454582 +- 2.94789101209\n",
      "('f1: ', 25, u'trans_depth')\n",
      "('f2: ', 53, u'proto_compaq-peer')\n",
      "Average accuracy (with kmeans for  trans_depth / proto_compaq-peer )=  91.281068525 +- 3.21036117583\n",
      "Average F1 (with kmeans for  trans_depth / proto_compaq-peer )=  91.8796589419 +- 3.23677192706\n",
      "('f1: ', 34, u'ct_ftp_cmd')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  ct_ftp_cmd / service_radius )=  90.3109756098 +- 3.1803231323\n",
      "Average F1 (with kmeans for  ct_ftp_cmd / service_radius )=  91.0864175476 +- 2.96989484003\n",
      "('f1: ', 24, u'dmean')\n",
      "('f2: ', 136, u'proto_secure-vmtp')\n",
      "Average accuracy (with kmeans for  dmean / proto_secure-vmtp )=  91.0133565621 +- 4.26705956098\n",
      "Average F1 (with kmeans for  dmean / proto_secure-vmtp )=  91.7184782917 +- 3.90518776229\n",
      "('f1: ', 52, u'proto_chaos')\n",
      "('f2: ', 123, u'proto_ptp')\n",
      "Average accuracy (with kmeans for  proto_chaos / proto_ptp )=  90.7990708479 +- 3.82427568012\n",
      "Average F1 (with kmeans for  proto_chaos / proto_ptp )=  91.477577795 +- 3.55256126435\n",
      "('f1: ', 24, u'dmean')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  dmean / service_radius )=  90.781068525 +- 3.01092391975\n",
      "Average F1 (with kmeans for  dmean / service_radius )=  91.4112483211 +- 3.08762267415\n",
      "('f1: ', 158, u'proto_uti')\n",
      "('f2: ', 159, u'proto_vines')\n",
      "Average accuracy (with kmeans for  proto_uti / proto_vines )=  91.031358885 +- 2.85484732341\n",
      "Average F1 (with kmeans for  proto_uti / proto_vines )=  91.6489716633 +- 2.99170811361\n",
      "('f1: ', 172, u'service_dns')\n",
      "('f2: ', 181, u'service_ssh')\n",
      "Average accuracy (with kmeans for  service_dns / service_ssh )=  91.0487804878 +- 3.68889698843\n",
      "Average F1 (with kmeans for  service_dns / service_ssh )=  91.5792375048 +- 3.54906176955\n",
      "('f1: ', 80, u'proto_igmp')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_igmp / proto_visa )=  90.7990708479 +- 3.82316397273\n",
      "Average F1 (with kmeans for  proto_igmp / proto_visa )=  91.4985538045 +- 3.74381620285\n",
      "('f1: ', 4, u'dbytes')\n",
      "('f2: ', 171, u'service_dhcp')\n",
      "Average accuracy (with kmeans for  dbytes / service_dhcp )=  91.7807781649 +- 3.1956064416\n",
      "Average F1 (with kmeans for  dbytes / service_dhcp )=  92.3233860037 +- 3.16023616474\n",
      "('f1: ', 48, u'proto_bna')\n",
      "('f2: ', 134, u'proto_sctp')\n",
      "Average accuracy (with kmeans for  proto_bna / proto_sctp )=  91.274970964 +- 3.04582967925\n",
      "Average F1 (with kmeans for  proto_bna / proto_sctp )=  91.7888650865 +- 2.90698593119\n",
      "('f1: ', 113, u'proto_netblt')\n",
      "('f2: ', 189, u'state_RST')\n",
      "Average accuracy (with kmeans for  proto_netblt / state_RST )=  91.524970964 +- 3.25089312419\n",
      "Average F1 (with kmeans for  proto_netblt / state_RST )=  92.154316403 +- 3.04444957119\n",
      "('f1: ', 27, u'ct_srv_src')\n",
      "('f2: ', 94, u'proto_ipv6-route')\n",
      "Average accuracy (with kmeans for  ct_srv_src / proto_ipv6-route )=  91.0371660859 +- 3.37694096785\n",
      "Average F1 (with kmeans for  ct_srv_src / proto_ipv6-route )=  91.6058100967 +- 3.3898981482\n",
      "('f1: ', 170, u'service_-')\n",
      "('f2: ', 182, u'service_ssl')\n",
      "Average accuracy (with kmeans for  service_- / service_ssl )=  90.8051684088 +- 4.11168794101\n",
      "Average F1 (with kmeans for  service_- / service_ssl )=  91.4396069969 +- 3.94171288164\n",
      "('f1: ', 11, u'dloss')\n",
      "('f2: ', 121, u'proto_pri-enc')\n",
      "Average accuracy (with kmeans for  dloss / proto_pri-enc )=  90.7990708479 +- 2.96305671234\n",
      "Average F1 (with kmeans for  dloss / proto_pri-enc )=  91.5242431754 +- 2.90600693365\n",
      "('f1: ', 97, u'proto_isis')\n",
      "('f2: ', 142, u'proto_sprite-rpc')\n",
      "Average accuracy (with kmeans for  proto_isis / proto_sprite-rpc )=  91.5191637631 +- 3.08739164269\n",
      "Average F1 (with kmeans for  proto_isis / proto_sprite-rpc )=  92.005981088 +- 3.14673790043\n",
      "('f1: ', 66, u'proto_etherip')\n",
      "('f2: ', 102, u'proto_larp')\n",
      "Average accuracy (with kmeans for  proto_etherip / proto_larp )=  92.2453542393 +- 3.97658807401\n",
      "Average F1 (with kmeans for  proto_etherip / proto_larp )=  92.8065509813 +- 3.72616516827\n",
      "('f1: ', 8, u'sload')\n",
      "('f2: ', 105, u'proto_merit-inp')\n",
      "Average accuracy (with kmeans for  sload / proto_merit-inp )=  91.525261324 +- 4.82803383411\n",
      "Average F1 (with kmeans for  sload / proto_merit-inp )=  92.0878166684 +- 4.57445484063\n",
      "('f1: ', 41, u'proto_aes-sp3-d')\n",
      "('f2: ', 72, u'proto_hmp')\n",
      "Average accuracy (with kmeans for  proto_aes-sp3-d / proto_hmp )=  91.7630662021 +- 3.88770347364\n",
      "Average F1 (with kmeans for  proto_aes-sp3-d / proto_hmp )=  92.2739456206 +- 3.77807216802\n",
      "('f1: ', 130, u'proto_sat-expak')\n",
      "('f2: ', 179, u'service_smtp')\n",
      "Average accuracy (with kmeans for  proto_sat-expak / service_smtp )=  91.2514518002 +- 3.12677003739\n",
      "Average F1 (with kmeans for  proto_sat-expak / service_smtp )=  91.7796425299 +- 3.2082160478\n",
      "('f1: ', 82, u'proto_il')\n",
      "('f2: ', 128, u'proto_rsvp')\n",
      "Average accuracy (with kmeans for  proto_il / proto_rsvp )=  90.3109756098 +- 4.0009141524\n",
      "Average F1 (with kmeans for  proto_il / proto_rsvp )=  90.9798631601 +- 3.85657289099\n",
      "('f1: ', 149, u'proto_tcf')\n",
      "('f2: ', 155, u'proto_ttp')\n",
      "Average accuracy (with kmeans for  proto_tcf / proto_ttp )=  91.525261324 +- 3.89941781877\n",
      "Average F1 (with kmeans for  proto_tcf / proto_ttp )=  92.0833402478 +- 3.80417013664\n",
      "('f1: ', 22, u'ackdat')\n",
      "('f2: ', 71, u'proto_gre')\n",
      "Average accuracy (with kmeans for  ackdat / proto_gre )=  91.275261324 +- 3.90078288616\n",
      "Average F1 (with kmeans for  ackdat / proto_gre )=  91.6976977989 +- 4.09655314726\n",
      "('f1: ', 7, u'dttl')\n",
      "('f2: ', 37, u'ct_srv_dst')\n",
      "Average accuracy (with kmeans for  dttl / ct_srv_dst )=  91.2694541231 +- 3.43472734825\n",
      "Average F1 (with kmeans for  dttl / ct_srv_dst )=  91.9118579833 +- 3.3293103626\n",
      "('f1: ', 135, u'proto_sdrp')\n",
      "('f2: ', 166, u'proto_xnet')\n",
      "Average accuracy (with kmeans for  proto_sdrp / proto_xnet )=  91.5191637631 +- 3.45130745455\n",
      "Average F1 (with kmeans for  proto_sdrp / proto_xnet )=  92.0189711328 +- 3.38475245179\n",
      "('f1: ', 114, u'proto_nsfnet-igp')\n",
      "('f2: ', 176, u'service_irc')\n",
      "Average accuracy (with kmeans for  proto_nsfnet-igp / service_irc )=  91.031068525 +- 4.048331648\n",
      "Average F1 (with kmeans for  proto_nsfnet-igp / service_irc )=  91.685336034 +- 3.74227979565\n",
      "('f1: ', 46, u'proto_ax.25')\n",
      "('f2: ', 159, u'proto_vines')\n",
      "Average accuracy (with kmeans for  proto_ax.25 / proto_vines )=  91.0429732869 +- 3.20913347775\n",
      "Average F1 (with kmeans for  proto_ax.25 / proto_vines )=  91.6590091495 +- 3.08690456619\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 134, u'proto_sctp')\n",
      "Average accuracy (with kmeans for  proto_igp / proto_sctp )=  90.5490708479 +- 3.91081341832\n",
      "Average F1 (with kmeans for  proto_igp / proto_sctp )=  91.2012256749 +- 3.6548210566\n",
      "('f1: ', 37, u'ct_srv_dst')\n",
      "('f2: ', 49, u'proto_br-sat-mon')\n",
      "Average accuracy (with kmeans for  ct_srv_dst / proto_br-sat-mon )=  91.774970964 +- 3.39147570697\n",
      "Average F1 (with kmeans for  ct_srv_dst / proto_br-sat-mon )=  92.331710766 +- 3.31469613259\n",
      "('f1: ', 56, u'proto_crtp')\n",
      "('f2: ', 105, u'proto_merit-inp')\n",
      "Average accuracy (with kmeans for  proto_crtp / proto_merit-inp )=  90.5609756098 +- 3.91727229897\n",
      "Average F1 (with kmeans for  proto_crtp / proto_merit-inp )=  91.2300862336 +- 3.7516993794\n",
      "('f1: ', 45, u'proto_arp')\n",
      "('f2: ', 46, u'proto_ax.25')\n",
      "Average accuracy (with kmeans for  proto_arp / proto_ax.25 )=  91.0548780488 +- 3.50089602929\n",
      "Average F1 (with kmeans for  proto_arp / proto_ax.25 )=  91.6601747846 +- 3.44704939957\n",
      "('f1: ', 75, u'proto_ib')\n",
      "('f2: ', 108, u'proto_micp')\n",
      "Average accuracy (with kmeans for  proto_ib / proto_micp )=  91.0429732869 +- 4.1488819049\n",
      "Average F1 (with kmeans for  proto_ib / proto_micp )=  91.7488573578 +- 3.75552156742\n",
      "('f1: ', 32, u'ct_dst_src_ltm')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  ct_dst_src_ltm / service_snmp )=  91.5368757259 +- 4.27126814246\n",
      "Average F1 (with kmeans for  ct_dst_src_ltm / service_snmp )=  92.0654404658 +- 4.06452935368\n",
      "('f1: ', 121, u'proto_pri-enc')\n",
      "('f2: ', 143, u'proto_sps')\n",
      "Average accuracy (with kmeans for  proto_pri-enc / proto_sps )=  90.7990708479 +- 4.5110974125\n",
      "Average F1 (with kmeans for  proto_pri-enc / proto_sps )=  91.4324435255 +- 4.13950328813\n",
      "('f1: ', 23, u'smean')\n",
      "('f2: ', 57, u'proto_crudp')\n",
      "Average accuracy (with kmeans for  smean / proto_crudp )=  91.531068525 +- 3.58334297983\n",
      "Average F1 (with kmeans for  smean / proto_crudp )=  92.0818894051 +- 3.62785049094\n",
      "('f1: ', 14, u'sjit')\n",
      "('f2: ', 147, u'proto_sun-nd')\n",
      "Average accuracy (with kmeans for  sjit / proto_sun-nd )=  91.7633565621 +- 3.90078272406\n",
      "Average F1 (with kmeans for  sjit / proto_sun-nd )=  92.3270835846 +- 3.81834530252\n",
      "('f1: ', 7, u'dttl')\n",
      "('f2: ', 158, u'proto_uti')\n",
      "Average accuracy (with kmeans for  dttl / proto_uti )=  91.2871660859 +- 4.29916208693\n",
      "Average F1 (with kmeans for  dttl / proto_uti )=  91.927702235 +- 3.96606777714\n",
      "('f1: ', 54, u'proto_cphb')\n",
      "('f2: ', 110, u'proto_mtp')\n",
      "Average accuracy (with kmeans for  proto_cphb / proto_mtp )=  91.5429732869 +- 4.896653931\n",
      "Average F1 (with kmeans for  proto_cphb / proto_mtp )=  92.0679416191 +- 4.53883954672\n",
      "('f1: ', 66, u'proto_etherip')\n",
      "('f2: ', 187, u'state_INT')\n",
      "Average accuracy (with kmeans for  proto_etherip / state_INT )=  91.0429732869 +- 2.79258619885\n",
      "Average F1 (with kmeans for  proto_etherip / state_INT )=  91.6230817189 +- 2.79243704354\n",
      "('f1: ', 56, u'proto_crtp')\n",
      "('f2: ', 136, u'proto_secure-vmtp')\n",
      "Average accuracy (with kmeans for  proto_crtp / proto_secure-vmtp )=  91.2691637631 +- 3.24120804348\n",
      "Average F1 (with kmeans for  proto_crtp / proto_secure-vmtp )=  91.8893397373 +- 3.1220165867\n",
      "('f1: ', 91, u'proto_ipv6-frag')\n",
      "('f2: ', 122, u'proto_prm')\n",
      "Average accuracy (with kmeans for  proto_ipv6-frag / proto_prm )=  91.7514518002 +- 3.30022002576\n",
      "Average F1 (with kmeans for  proto_ipv6-frag / proto_prm )=  92.2798113662 +- 3.26006651746\n",
      "('f1: ', 124, u'proto_pup')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_pup / proto_visa )=  91.0487804878 +- 4.12423587292\n",
      "Average F1 (with kmeans for  proto_pup / proto_visa )=  91.631435307 +- 3.7646418757\n",
      "('f1: ', 67, u'proto_fc')\n",
      "('f2: ', 111, u'proto_mux')\n",
      "Average accuracy (with kmeans for  proto_fc / proto_mux )=  91.2987804878 +- 4.87792694009\n",
      "Average F1 (with kmeans for  proto_fc / proto_mux )=  91.8258057515 +- 4.50766402511\n",
      "('f1: ', 142, u'proto_sprite-rpc')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  proto_sprite-rpc / service_snmp )=  91.3048780488 +- 4.88483661632\n",
      "Average F1 (with kmeans for  proto_sprite-rpc / service_snmp )=  91.8417192091 +- 4.51715904245\n",
      "('f1: ', 151, u'proto_tlsp')\n",
      "('f2: ', 161, u'proto_vmtp')\n",
      "Average accuracy (with kmeans for  proto_tlsp / proto_vmtp )=  91.5429732869 +- 4.00508573983\n",
      "Average F1 (with kmeans for  proto_tlsp / proto_vmtp )=  92.0942833117 +- 3.87696611664\n",
      "('f1: ', 60, u'proto_ddx')\n",
      "('f2: ', 172, u'service_dns')\n",
      "Average accuracy (with kmeans for  proto_ddx / service_dns )=  91.2990708479 +- 3.8727519839\n",
      "Average F1 (with kmeans for  proto_ddx / service_dns )=  91.828288149 +- 3.78478769518\n",
      "('f1: ', 19, u'dwin')\n",
      "('f2: ', 172, u'service_dns')\n",
      "Average accuracy (with kmeans for  dwin / service_dns )=  91.0429732869 +- 3.34662490014\n",
      "Average F1 (with kmeans for  dwin / service_dns )=  91.5976913654 +- 3.24802912703\n",
      "('f1: ', 106, u'proto_mfe-nsp')\n",
      "('f2: ', 188, u'state_REQ')\n",
      "Average accuracy (with kmeans for  proto_mfe-nsp / state_REQ )=  90.8051684088 +- 4.76352024416\n",
      "Average F1 (with kmeans for  proto_mfe-nsp / state_REQ )=  91.4733383032 +- 4.33228476289\n",
      "('f1: ', 108, u'proto_micp')\n",
      "('f2: ', 174, u'service_ftp-data')\n",
      "Average accuracy (with kmeans for  proto_micp / service_ftp-data )=  91.774970964 +- 3.71075210262\n",
      "Average F1 (with kmeans for  proto_micp / service_ftp-data )=  92.2753079574 +- 3.62630811544\n",
      "('f1: ', 98, u'proto_iso-ip')\n",
      "('f2: ', 154, u'proto_trunk-2')\n",
      "Average accuracy (with kmeans for  proto_iso-ip / proto_trunk-2 )=  92.2569686411 +- 2.77940731063\n",
      "Average F1 (with kmeans for  proto_iso-ip / proto_trunk-2 )=  92.7302093391 +- 2.64957663689\n",
      "('f1: ', 32, u'ct_dst_src_ltm')\n",
      "('f2: ', 166, u'proto_xnet')\n",
      "Average accuracy (with kmeans for  ct_dst_src_ltm / proto_xnet )=  92.9834494774 +- 3.61886554539\n",
      "Average F1 (with kmeans for  ct_dst_src_ltm / proto_xnet )=  93.5125367827 +- 3.39133710877\n",
      "('f1: ', 70, u'proto_gmtp')\n",
      "('f2: ', 137, u'proto_sep')\n",
      "Average accuracy (with kmeans for  proto_gmtp / proto_sep )=  91.2929732869 +- 3.70687355851\n",
      "Average F1 (with kmeans for  proto_gmtp / proto_sep )=  91.8196786804 +- 3.56448367783\n",
      "('f1: ', 85, u'proto_ipcv')\n",
      "('f2: ', 118, u'proto_pim')\n",
      "Average accuracy (with kmeans for  proto_ipcv / proto_pim )=  92.2572590012 +- 3.96323258592\n",
      "Average F1 (with kmeans for  proto_ipcv / proto_pim )=  92.757301776 +- 3.80527419399\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 162, u'proto_vrrp')\n",
      "Average accuracy (with kmeans for  swin / proto_vrrp )=  91.524970964 +- 4.30172221807\n",
      "Average F1 (with kmeans for  swin / proto_vrrp )=  91.9532061687 +- 4.12196826435\n",
      "('f1: ', 99, u'proto_iso-tp4')\n",
      "('f2: ', 147, u'proto_sun-nd')\n",
      "Average accuracy (with kmeans for  proto_iso-tp4 / proto_sun-nd )=  91.781068525 +- 4.14447956908\n",
      "Average F1 (with kmeans for  proto_iso-tp4 / proto_sun-nd )=  92.4275946663 +- 3.77887340471\n",
      "('f1: ', 101, u'proto_l2tp')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_l2tp / service_radius )=  91.5075493612 +- 3.93031616296\n",
      "Average F1 (with kmeans for  proto_l2tp / service_radius )=  92.1556718427 +- 3.67321539612\n",
      "('f1: ', 155, u'proto_ttp')\n",
      "('f2: ', 161, u'proto_vmtp')\n",
      "Average accuracy (with kmeans for  proto_ttp / proto_vmtp )=  91.2929732869 +- 3.85677305877\n",
      "Average F1 (with kmeans for  proto_ttp / proto_vmtp )=  91.8560480176 +- 3.78053916072\n",
      "('f1: ', 19, u'dwin')\n",
      "('f2: ', 129, u'proto_rvd')\n",
      "Average accuracy (with kmeans for  dwin / proto_rvd )=  92.4950638792 +- 3.59722678825\n",
      "Average F1 (with kmeans for  dwin / proto_rvd )=  93.0422585015 +- 3.29464888941\n",
      "('f1: ', 85, u'proto_ipcv')\n",
      "('f2: ', 151, u'proto_tlsp')\n",
      "Average accuracy (with kmeans for  proto_ipcv / proto_tlsp )=  91.2929732869 +- 3.19739548424\n",
      "Average F1 (with kmeans for  proto_ipcv / proto_tlsp )=  91.7732126252 +- 3.2261622018\n",
      "('f1: ', 77, u'proto_idpr-cmtp')\n",
      "('f2: ', 110, u'proto_mtp')\n",
      "Average accuracy (with kmeans for  proto_idpr-cmtp / proto_mtp )=  91.0606852497 +- 3.66253976228\n",
      "Average F1 (with kmeans for  proto_idpr-cmtp / proto_mtp )=  91.5862778707 +- 3.57360509272\n",
      "('f1: ', 113, u'proto_netblt')\n",
      "('f2: ', 181, u'service_ssh')\n",
      "Average accuracy (with kmeans for  proto_netblt / service_ssh )=  91.2926829268 +- 3.5441451939\n",
      "Average F1 (with kmeans for  proto_netblt / service_ssh )=  91.7987496999 +- 3.37230989377\n",
      "('f1: ', 128, u'proto_rsvp')\n",
      "('f2: ', 186, u'state_FIN')\n",
      "Average accuracy (with kmeans for  proto_rsvp / state_FIN )=  91.7572590012 +- 3.08958529432\n",
      "Average F1 (with kmeans for  proto_rsvp / state_FIN )=  92.2801418976 +- 3.09427537273\n",
      "('f1: ', 44, u'proto_aris')\n",
      "('f2: ', 77, u'proto_idpr-cmtp')\n",
      "Average accuracy (with kmeans for  proto_aris / proto_idpr-cmtp )=  92.7273519164 +- 3.22316367764\n",
      "Average F1 (with kmeans for  proto_aris / proto_idpr-cmtp )=  93.1987367025 +- 3.1887342476\n",
      "('f1: ', 97, u'proto_isis')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  proto_isis / service_pop3 )=  91.5191637631 +- 2.85758184545\n",
      "Average F1 (with kmeans for  proto_isis / service_pop3 )=  92.0415219701 +- 2.92243602613\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / service_pop3 )=  90.8109756098 +- 4.8422442363\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / service_pop3 )=  91.4056943057 +- 4.49742970345\n",
      "('f1: ', 1, u'spkts')\n",
      "('f2: ', 91, u'proto_ipv6-frag')\n",
      "Average accuracy (with kmeans for  spkts / proto_ipv6-frag )=  92.7334494774 +- 3.39361543582\n",
      "Average F1 (with kmeans for  spkts / proto_ipv6-frag )=  93.1662317767 +- 3.39378749673\n",
      "('f1: ', 47, u'proto_bbn-rcc')\n",
      "('f2: ', 173, u'service_ftp')\n",
      "Average accuracy (with kmeans for  proto_bbn-rcc / service_ftp )=  92.0191637631 +- 3.84681306858\n",
      "Average F1 (with kmeans for  proto_bbn-rcc / service_ftp )=  92.4738897576 +- 3.6950498972\n",
      "('f1: ', 72, u'proto_hmp')\n",
      "('f2: ', 184, u'state_CLO')\n",
      "Average accuracy (with kmeans for  proto_hmp / state_CLO )=  92.024970964 +- 4.63653068291\n",
      "Average F1 (with kmeans for  proto_hmp / state_CLO )=  92.4288115915 +- 4.4207217974\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 65, u'proto_encap')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / proto_encap )=  90.7932636469 +- 3.54379882028\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / proto_encap )=  91.5098824264 +- 3.4280467366\n",
      "('f1: ', 87, u'proto_iplt')\n",
      "('f2: ', 120, u'proto_pnni')\n",
      "Average accuracy (with kmeans for  proto_iplt / proto_pnni )=  91.5371660859 +- 3.7393552073\n",
      "Average F1 (with kmeans for  proto_iplt / proto_pnni )=  92.0246790716 +- 3.6385488409\n",
      "('f1: ', 64, u'proto_emcon')\n",
      "('f2: ', 81, u'proto_igp')\n",
      "Average accuracy (with kmeans for  proto_emcon / proto_igp )=  90.5667828107 +- 3.57252487824\n",
      "Average F1 (with kmeans for  proto_emcon / proto_igp )=  91.1986544336 +- 3.29054249658\n",
      "('f1: ', 18, u'dtcpb')\n",
      "('f2: ', 83, u'proto_ip')\n",
      "Average accuracy (with kmeans for  dtcpb / proto_ip )=  91.0432636469 +- 3.72265565198\n",
      "Average F1 (with kmeans for  dtcpb / proto_ip )=  91.691752015 +- 3.62939433608\n",
      "('f1: ', 76, u'proto_idpr')\n",
      "('f2: ', 169, u'proto_zero')\n",
      "Average accuracy (with kmeans for  proto_idpr / proto_zero )=  91.0490708479 +- 3.84552324836\n",
      "Average F1 (with kmeans for  proto_idpr / proto_zero )=  91.6676584784 +- 3.6126862237\n",
      "('f1: ', 40, u'proto_a/n')\n",
      "('f2: ', 178, u'service_radius')\n",
      "Average accuracy (with kmeans for  proto_a/n / service_radius )=  90.8167828107 +- 3.62743101275\n",
      "Average F1 (with kmeans for  proto_a/n / service_radius )=  91.3842029159 +- 3.52872221403\n",
      "('f1: ', 84, u'proto_ipcomp')\n",
      "('f2: ', 98, u'proto_iso-ip')\n",
      "Average accuracy (with kmeans for  proto_ipcomp / proto_iso-ip )=  91.774970964 +- 4.00465415027\n",
      "Average F1 (with kmeans for  proto_ipcomp / proto_iso-ip )=  92.2369923778 +- 4.08090385864\n",
      "('f1: ', 86, u'proto_ipip')\n",
      "('f2: ', 189, u'state_RST')\n",
      "Average accuracy (with kmeans for  proto_ipip / state_RST )=  91.0490708479 +- 4.52912402581\n",
      "Average F1 (with kmeans for  proto_ipip / state_RST )=  91.6535319608 +- 4.20463748668\n",
      "('f1: ', 10, u'sloss')\n",
      "('f2: ', 59, u'proto_ddp')\n",
      "Average accuracy (with kmeans for  sloss / proto_ddp )=  91.7633565621 +- 3.59840689253\n",
      "Average F1 (with kmeans for  sloss / proto_ddp )=  92.3358655003 +- 3.48667350372\n",
      "('f1: ', 112, u'proto_narp')\n",
      "('f2: ', 147, u'proto_sun-nd')\n",
      "Average accuracy (with kmeans for  proto_narp / proto_sun-nd )=  92.4892566783 +- 3.13362557886\n",
      "Average F1 (with kmeans for  proto_narp / proto_sun-nd )=  92.9435975769 +- 2.99207424336\n",
      "('f1: ', 144, u'proto_srp')\n",
      "('f2: ', 156, u'proto_udp')\n",
      "Average accuracy (with kmeans for  proto_srp / proto_udp )=  91.781068525 +- 3.8757063223\n",
      "Average F1 (with kmeans for  proto_srp / proto_udp )=  92.2508358249 +- 3.73849971693\n",
      "('f1: ', 134, u'proto_sctp')\n",
      "('f2: ', 170, u'service_-')\n",
      "Average accuracy (with kmeans for  proto_sctp / service_- )=  90.8048780488 +- 4.07763516845\n",
      "Average F1 (with kmeans for  proto_sctp / service_- )=  91.3606869203 +- 3.89959387225\n",
      "('f1: ', 16, u'swin')\n",
      "('f2: ', 26, u'response_body_len')\n",
      "Average accuracy (with kmeans for  swin / response_body_len )=  91.537456446 +- 4.06503925046\n",
      "Average F1 (with kmeans for  swin / response_body_len )=  92.030358313 +- 4.04573226047\n",
      "('f1: ', 8, u'sload')\n",
      "('f2: ', 71, u'proto_gre')\n",
      "Average accuracy (with kmeans for  sload / proto_gre )=  90.5670731707 +- 3.62683108566\n",
      "Average F1 (with kmeans for  sload / proto_gre )=  91.2638827668 +- 3.60238186536\n",
      "('f1: ', 75, u'proto_ib')\n",
      "('f2: ', 140, u'proto_smp')\n",
      "Average accuracy (with kmeans for  proto_ib / proto_smp )=  91.0429732869 +- 3.99593192114\n",
      "Average F1 (with kmeans for  proto_ib / proto_smp )=  91.6322722234 +- 3.70080157415\n",
      "('f1: ', 87, u'proto_iplt')\n",
      "('f2: ', 95, u'proto_ipx-n-ip')\n",
      "Average accuracy (with kmeans for  proto_iplt / proto_ipx-n-ip )=  92.274970964 +- 3.62920864099\n",
      "Average F1 (with kmeans for  proto_iplt / proto_ipx-n-ip )=  92.6239543538 +- 3.64048535987\n",
      "('f1: ', 8, u'sload')\n",
      "('f2: ', 187, u'state_INT')\n",
      "Average accuracy (with kmeans for  sload / state_INT )=  92.5069686411 +- 2.65384768325\n",
      "Average F1 (with kmeans for  sload / state_INT )=  92.99690477 +- 2.57982045276\n",
      "('f1: ', 29, u'ct_dst_ltm')\n",
      "('f2: ', 169, u'proto_zero')\n",
      "Average accuracy (with kmeans for  ct_dst_ltm / proto_zero )=  92.0130662021 +- 3.20313249891\n",
      "Average F1 (with kmeans for  ct_dst_ltm / proto_zero )=  92.4295187906 +- 3.27396035858\n",
      "('f1: ', 17, u'stcpb')\n",
      "('f2: ', 74, u'proto_iatp')\n",
      "Average accuracy (with kmeans for  stcpb / proto_iatp )=  91.7630662021 +- 2.84237416725\n",
      "Average F1 (with kmeans for  stcpb / proto_iatp )=  92.199273513 +- 2.99584451438\n",
      "('f1: ', 52, u'proto_chaos')\n",
      "('f2: ', 93, u'proto_ipv6-opts')\n",
      "Average accuracy (with kmeans for  proto_chaos / proto_ipv6-opts )=  91.0670731707 +- 4.2706195215\n",
      "Average F1 (with kmeans for  proto_chaos / proto_ipv6-opts )=  91.5827920278 +- 4.25648914338\n",
      "('f1: ', 50, u'proto_cbt')\n",
      "('f2: ', 95, u'proto_ipx-n-ip')\n",
      "Average accuracy (with kmeans for  proto_cbt / proto_ipx-n-ip )=  90.8048780488 +- 3.65324677955\n",
      "Average F1 (with kmeans for  proto_cbt / proto_ipx-n-ip )=  91.3678210143 +- 3.51959277046\n",
      "('f1: ', 26, u'response_body_len')\n",
      "('f2: ', 43, u'proto_argus')\n",
      "Average accuracy (with kmeans for  response_body_len / proto_argus )=  90.8228803717 +- 3.29360053131\n",
      "Average F1 (with kmeans for  response_body_len / proto_argus )=  91.4403180535 +- 3.25056775212\n",
      "('f1: ', 36, u'ct_src_ltm')\n",
      "('f2: ', 162, u'proto_vrrp')\n",
      "Average accuracy (with kmeans for  ct_src_ltm / proto_vrrp )=  92.4892566783 +- 2.70547764146\n",
      "Average F1 (with kmeans for  ct_src_ltm / proto_vrrp )=  92.9753931588 +- 2.66771289137\n",
      "('f1: ', 106, u'proto_mfe-nsp')\n",
      "('f2: ', 108, u'proto_micp')\n",
      "Average accuracy (with kmeans for  proto_mfe-nsp / proto_micp )=  91.2987804878 +- 4.12885350813\n",
      "Average F1 (with kmeans for  proto_mfe-nsp / proto_micp )=  91.8835314943 +- 3.83526852729\n",
      "('f1: ', 49, u'proto_br-sat-mon')\n",
      "('f2: ', 188, u'state_REQ')\n",
      "Average accuracy (with kmeans for  proto_br-sat-mon / state_REQ )=  91.7633565621 +- 4.0784861532\n",
      "Average F1 (with kmeans for  proto_br-sat-mon / state_REQ )=  92.2941565789 +- 4.08129619181\n",
      "('f1: ', 9, u'dload')\n",
      "('f2: ', 36, u'ct_src_ltm')\n",
      "Average accuracy (with kmeans for  dload / ct_src_ltm )=  90.8106852497 +- 4.0603209701\n",
      "Average F1 (with kmeans for  dload / ct_src_ltm )=  91.4024554393 +- 3.81650789696\n",
      "('f1: ', 70, u'proto_gmtp')\n",
      "('f2: ', 81, u'proto_igp')\n",
      "Average accuracy (with kmeans for  proto_gmtp / proto_igp )=  91.7633565621 +- 3.28590499254\n",
      "Average F1 (with kmeans for  proto_gmtp / proto_igp )=  92.2202573029 +- 3.29178308573\n",
      "('f1: ', 86, u'proto_ipip')\n",
      "('f2: ', 174, u'service_ftp-data')\n",
      "Average accuracy (with kmeans for  proto_ipip / service_ftp-data )=  91.0548780488 +- 3.01452131649\n",
      "Average F1 (with kmeans for  proto_ipip / service_ftp-data )=  91.7122636605 +- 2.91511623582\n",
      "('f1: ', 28, u'ct_state_ttl')\n",
      "('f2: ', 128, u'proto_rsvp')\n",
      "Average accuracy (with kmeans for  ct_state_ttl / proto_rsvp )=  92.0069686411 +- 2.62984587361\n",
      "Average F1 (with kmeans for  ct_state_ttl / proto_rsvp )=  92.5417654232 +- 2.46486666537\n",
      "('f1: ', 36, u'ct_src_ltm')\n",
      "('f2: ', 123, u'proto_ptp')\n",
      "Average accuracy (with kmeans for  ct_src_ltm / proto_ptp )=  92.0130662021 +- 3.03092444021\n",
      "Average F1 (with kmeans for  ct_src_ltm / proto_ptp )=  92.5307206372 +- 2.83369381302\n",
      "('f1: ', 59, u'proto_ddp')\n",
      "('f2: ', 122, u'proto_prm')\n",
      "Average accuracy (with kmeans for  proto_ddp / proto_prm )=  91.0548780488 +- 2.79952473959\n",
      "Average F1 (with kmeans for  proto_ddp / proto_prm )=  91.6552975303 +- 2.79122482652\n",
      "('f1: ', 46, u'proto_ax.25')\n",
      "('f2: ', 160, u'proto_visa')\n",
      "Average accuracy (with kmeans for  proto_ax.25 / proto_visa )=  92.0072590012 +- 3.40781376228\n",
      "Average F1 (with kmeans for  proto_ax.25 / proto_visa )=  92.5804392113 +- 3.19765737777\n",
      "('f1: ', 10, u'sloss')\n",
      "('f2: ', 47, u'proto_bbn-rcc')\n",
      "Average accuracy (with kmeans for  sloss / proto_bbn-rcc )=  92.0191637631 +- 3.37588658583\n",
      "Average F1 (with kmeans for  sloss / proto_bbn-rcc )=  92.4823535586 +- 3.33645523347\n",
      "('f1: ', 68, u'proto_fire')\n",
      "('f2: ', 83, u'proto_ip')\n",
      "Average accuracy (with kmeans for  proto_fire / proto_ip )=  92.4831591173 +- 2.73843416552\n",
      "Average F1 (with kmeans for  proto_fire / proto_ip )=  92.9321590185 +- 2.78411565216\n",
      "('f1: ', 74, u'proto_iatp')\n",
      "('f2: ', 83, u'proto_ip')\n",
      "Average accuracy (with kmeans for  proto_iatp / proto_ip )=  90.5786875726 +- 3.85333885818\n",
      "Average F1 (with kmeans for  proto_iatp / proto_ip )=  91.2198491954 +- 3.62950811484\n",
      "('f1: ', 35, u'ct_flw_http_mthd')\n",
      "('f2: ', 147, u'proto_sun-nd')\n",
      "Average accuracy (with kmeans for  ct_flw_http_mthd / proto_sun-nd )=  91.7575493612 +- 3.93500773907\n",
      "Average F1 (with kmeans for  ct_flw_http_mthd / proto_sun-nd )=  92.3130092003 +- 3.77106030171\n",
      "('f1: ', 166, u'proto_xnet')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  proto_xnet / service_pop3 )=  90.0905923345 +- 4.01746546295\n",
      "Average F1 (with kmeans for  proto_xnet / service_pop3 )=  90.7132738063 +- 3.80585932552\n",
      "('f1: ', 54, u'proto_cphb')\n",
      "('f2: ', 65, u'proto_encap')\n",
      "Average accuracy (with kmeans for  proto_cphb / proto_encap )=  91.275261324 +- 3.60735585868\n",
      "Average F1 (with kmeans for  proto_cphb / proto_encap )=  91.714630023 +- 3.59016490553\n",
      "('f1: ', 68, u'proto_fire')\n",
      "('f2: ', 175, u'service_http')\n",
      "Average accuracy (with kmeans for  proto_fire / service_http )=  92.2572590012 +- 3.97733262682\n",
      "Average F1 (with kmeans for  proto_fire / service_http )=  92.6668553999 +- 3.86958705093\n",
      "('f1: ', 47, u'proto_bbn-rcc')\n",
      "('f2: ', 167, u'proto_xns-idp')\n",
      "Average accuracy (with kmeans for  proto_bbn-rcc / proto_xns-idp )=  91.7691637631 +- 3.23553583227\n",
      "Average F1 (with kmeans for  proto_bbn-rcc / proto_xns-idp )=  92.1881993158 +- 3.2977765526\n",
      "('f1: ', 38, u'is_sm_ips_ports')\n",
      "('f2: ', 183, u'state_ACC')\n",
      "Average accuracy (with kmeans for  is_sm_ips_ports / state_ACC )=  91.7868757259 +- 3.37746456569\n",
      "Average F1 (with kmeans for  is_sm_ips_ports / state_ACC )=  92.4238137937 +- 3.21160772642\n",
      "('f1: ', 58, u'proto_dcn')\n",
      "('f2: ', 128, u'proto_rsvp')\n",
      "Average accuracy (with kmeans for  proto_dcn / proto_rsvp )=  90.3347851336 +- 3.65175755303\n",
      "Average F1 (with kmeans for  proto_dcn / proto_rsvp )=  90.9805614185 +- 3.71188826252\n",
      "('f1: ', 81, u'proto_igp')\n",
      "('f2: ', 105, u'proto_merit-inp')\n",
      "Average accuracy (with kmeans for  proto_igp / proto_merit-inp )=  92.024970964 +- 3.68251392897\n",
      "Average F1 (with kmeans for  proto_igp / proto_merit-inp )=  92.4588640565 +- 3.68752794105\n",
      "('f1: ', 49, u'proto_br-sat-mon')\n",
      "('f2: ', 124, u'proto_pup')\n",
      "Average accuracy (with kmeans for  proto_br-sat-mon / proto_pup )=  92.2511614402 +- 2.99413784922\n",
      "Average F1 (with kmeans for  proto_br-sat-mon / proto_pup )=  92.7546902846 +- 2.9944144584\n",
      "('f1: ', 95, u'proto_ipx-n-ip')\n",
      "('f2: ', 177, u'service_pop3')\n",
      "Average accuracy (with kmeans for  proto_ipx-n-ip / service_pop3 )=  90.8167828107 +- 3.78048179473\n",
      "Average F1 (with kmeans for  proto_ipx-n-ip / service_pop3 )=  91.3906565096 +- 3.64552232681\n",
      "('f1: ', 174, u'service_ftp-data')\n",
      "('f2: ', 180, u'service_snmp')\n",
      "Average accuracy (with kmeans for  service_ftp-data / service_snmp )=  92.9834494774 +- 3.13157940754\n",
      "Average F1 (with kmeans for  service_ftp-data / service_snmp )=  93.3694963718 +- 3.20874799607\n",
      "('f1: ', 2, u'dpkts')\n",
      "('f2: ', 10, u'sloss')\n",
      "Average accuracy (with kmeans for  dpkts / sloss )=  93.4535423926 +- 2.8588128836\n",
      "Average F1 (with kmeans for  dpkts / sloss )=  93.9271907165 +- 2.69574267256\n",
      "('f1: ', 98, u'proto_iso-ip')\n",
      "('f2: ', 171, u'service_dhcp')\n",
      "Average accuracy (with kmeans for  proto_iso-ip / service_dhcp )=  91.5072590012 +- 3.48144418877\n",
      "Average F1 (with kmeans for  proto_iso-ip / service_dhcp )=  92.1283310358 +- 3.18581155268\n",
      "('f1: ', 109, u'proto_mobile')\n",
      "('f2: ', 168, u'proto_xtp')\n",
      "Average accuracy (with kmeans for  proto_mobile / proto_xtp )=  91.2871660859 +- 3.89841599337\n",
      "Average F1 (with kmeans for  proto_mobile / proto_xtp )=  91.9159789958 +- 3.63103075357\n",
      "('f1: ', 28, u'ct_state_ttl')\n",
      "('f2: ', 167, u'proto_xns-idp')\n",
      "Average accuracy (with kmeans for  ct_state_ttl / proto_xns-idp )=  91.5133565621 +- 3.29774722335\n",
      "Average F1 (with kmeans for  ct_state_ttl / proto_xns-idp )=  92.0206276927 +- 3.36189863108\n",
      "('f1: ', 137, u'proto_sep')\n",
      "('f2: ', 161, u'proto_vmtp')\n",
      "Average accuracy (with kmeans for  proto_sep / proto_vmtp )=  90.7990708479 +- 4.25234360899\n",
      "Average F1 (with kmeans for  proto_sep / proto_vmtp )=  91.3329688654 +- 4.13959136857\n",
      "('f1: ', 136, u'proto_secure-vmtp')\n",
      "('f2: ', 166, u'proto_xnet')\n",
      "Average accuracy (with kmeans for  proto_secure-vmtp / proto_xnet )=  91.2929732869 +- 3.56697881724\n",
      "Average F1 (with kmeans for  proto_secure-vmtp / proto_xnet )=  91.8780685323 +- 3.45825717905\n",
      "avg loop time:  8.17378611101\n",
      "(93.453542392566789, 2.858812883597337, 93.927190716538973, 2.6957426725603568, u'dpkts', u'sloss') (92.983449477351925, 3.1315794075438981, 93.36949637178698, 3.2087479960698628, u'service_ftp-data', u'service_snmp')\n",
      "[(93.453542392566789, 2.858812883597337, 93.927190716538973, 2.6957426725603568, u'dpkts', u'sloss'), (92.983449477351925, 3.1315794075438981, 93.36949637178698, 3.2087479960698628, u'service_ftp-data', u'service_snmp'), (92.983449477351897, 3.6188655453931897, 93.512536782749848, 3.3913371087657391, u'ct_dst_src_ltm', u'proto_xnet'), (92.733449477351911, 3.393615435820232, 93.166231776668539, 3.3937874967345181, u'spkts', u'proto_ipv6-frag'), (92.727351916376307, 2.1725215424692679, 93.251664393393128, 2.3328807489330754, u'sttl', u'service_snmp'), (92.727351916376307, 3.2231636776396968, 93.198736702528933, 3.1887342476038425, u'proto_aris', u'proto_idpr-cmtp'), (92.727061556329843, 3.7684438335765553, 93.340114751547475, 3.3368017167112169, u'is_ftp_login', u'state_ACC'), (92.721254355400688, 3.2327443595520484, 93.358561001267162, 2.9738496465683539, u'response_body_len', u'proto_nvp'), (92.506968641114966, 2.6538476832496602, 92.9969047699595, 2.5798204527602113, u'sload', u'state_INT'), (92.501161440185825, 4.0420649025671507, 93.03205177027219, 3.6705933732861067, u'sjit', u'proto_micp'), (92.495063879210221, 3.5972267882491846, 93.042258501492427, 3.2946488894097339, u'dwin', u'proto_rvd'), (92.489256678281066, 3.1336255788550336, 92.94359757692294, 2.9920742433577057, u'proto_narp', u'proto_sun-nd'), (92.489256678281066, 2.7054776414626955, 92.975393158750649, 2.6677128913710746, u'ct_src_ltm', u'proto_vrrp'), (92.483159117305448, 2.7384341655164639, 92.932159018537746, 2.7841156521579138, u'proto_fire', u'proto_ip'), (92.274970963995344, 3.6292086409882627, 92.623954353819713, 3.6404853598663243, u'proto_iplt', u'proto_ipx-n-ip'), (92.257259001161444, 3.3424639321575822, 92.830757812805459, 3.1386283692717885, u'proto_unas', u'proto_wb-mon'), (92.257259001161444, 3.9632325859157667, 92.7573017760092, 3.8052741939925658, u'proto_ipcv', u'proto_pim'), (92.257259001161444, 3.9773326268243268, 92.666855399850661, 3.869587050926647, u'proto_fire', u'service_http'), (92.25696864111498, 2.7794073106283861, 92.730209339144466, 2.6495766368932565, u'proto_iso-ip', u'proto_trunk-2'), (92.25116144018584, 2.964526320251462, 92.811815069998858, 2.8538212044277338, u'ct_src_dport_ltm', u'proto_pgm'), (92.25116144018584, 2.9941378492230748, 92.754690284555636, 2.9944144584011783, u'proto_br-sat-mon', u'proto_pup'), (92.24535423925667, 3.0010466114904406, 92.788970611919936, 2.9687205815630873, u'sbytes', u'proto_rvd'), (92.24535423925667, 3.9765880740107256, 92.80655098127346, 3.7261651682662968, u'proto_etherip', u'proto_larp'), (92.233449477351897, 3.0378035897426661, 92.853762474022176, 2.9246450941858146, u'proto_crtp', u'proto_encap'), (92.233159117305462, 2.3801393933669748, 92.811703057874837, 2.3352974043614321, u'proto_ip', u'proto_ipv6-frag'), (92.024970963995372, 2.9949591479023341, 92.688011821178918, 2.6366209059741461, u'response_body_len', u'proto_sctp'), (92.024970963995344, 4.6365306829104895, 92.428811591476261, 4.4207217973985697, u'proto_hmp', u'state_CLO'), (92.024970963995344, 3.6825139289705997, 92.458864056475136, 3.6875279410489901, u'proto_igp', u'proto_merit-inp'), (92.019163763066203, 3.8468130685784425, 92.473889757591067, 3.695049897199377, u'proto_bbn-rcc', u'service_ftp'), (92.019163763066203, 3.3758865858272258, 92.482353558611905, 3.3364552334707467, u'sloss', u'proto_bbn-rcc'), (92.013066202090599, 3.2031324989130536, 92.429518790567727, 3.2739603585817081, u'ct_dst_ltm', u'proto_zero'), (92.013066202090599, 3.0309244402128357, 92.53072063718173, 2.833693813015282, u'ct_src_ltm', u'proto_ptp'), (92.007259001161458, 2.8452804681102908, 92.553211684910892, 2.8759573643554148, u'proto_il', u'proto_sat-mon'), (92.00725900116143, 3.4078137622756084, 92.580439211290567, 3.1976573777669106, u'proto_ax.25', u'proto_visa'), (92.006968641114966, 2.6298458736078074, 92.541765423175221, 2.4648666653738442, u'ct_state_ttl', u'proto_rsvp'), (92.001161440185825, 2.6599128706292063, 92.541472683029809, 2.646498319780989, u'proto_sccopmce', u'proto_trunk-1'), (92.001161440185825, 3.2367417295108045, 92.426699742274224, 3.2910225521009937, u'ct_ftp_cmd', u'proto_ax.25'), (92.001161440185825, 3.0565847240807882, 92.586045458232064, 2.9478910120914201, u'proto_prm', u'service_snmp'), (91.99535423925667, 3.0726955403955305, 92.59592005174413, 2.9266346898108613, u'proto_vrrp', u'proto_wb-mon'), (91.989256678281066, 2.4226221231332565, 92.583784745275437, 2.2366595097035731, u'proto_idrp', u'proto_sctp'), (91.786875725900103, 3.1870467352205201, 92.376948219208742, 3.0195008880351435, u'proto_cphb', u'proto_vmtp'), (91.786875725900103, 3.3774645656882583, 92.42381379373343, 3.2116077264170375, u'is_sm_ips_ports', u'state_ACC'), (91.781068524970962, 3.2208678659768508, 92.425707697048566, 3.0529681059137062, u'dbytes', u'proto_dgp'), (91.781068524970962, 3.3923114034762247, 92.314578234165651, 3.2821360617594588, u'proto_leaf-1', u'proto_wsn'), (91.781068524970962, 4.144479569079528, 92.427594666270636, 3.77887340471149, u'proto_iso-tp4', u'proto_sun-nd'), (91.781068524970948, 3.8757063222991048, 92.250835824887233, 3.7384997169323468, u'proto_srp', u'proto_udp'), (91.780778164924499, 3.1956064415999581, 92.323386003749704, 3.1602361647386488, u'dbytes', u'service_dhcp'), (91.775261324041807, 3.7400207174755713, 92.40768663960155, 3.5815153093372354, u'proto_idrp', u'proto_skip'), (91.774970963995358, 2.8665240411860058, 92.395034714589713, 2.7617827148065004, u'proto_chaos', u'proto_sprite-rpc'), (91.774970963995358, 3.39147570697294, 92.331710766009166, 3.3146961325862327, u'ct_srv_dst', u'proto_br-sat-mon'), (91.774970963995358, 3.7107521026245789, 92.275307957361065, 3.6263081154408225, u'proto_micp', u'service_ftp-data'), (91.774970963995358, 4.0046541502703894, 92.236992377759407, 4.0809038586350077, u'proto_ipcomp', u'proto_iso-ip'), (91.769163763066203, 4.0166373379573868, 92.413512045231471, 3.6488812983479342, u'proto_mux', u'proto_sprite-rpc'), (91.769163763066203, 3.8734789936427365, 92.415830814338094, 3.5339147038132941, u'proto_mfe-nsp', u'service_http'), (91.769163763066203, 3.235535832269719, 92.188199315841885, 3.2977765526039571, u'proto_bbn-rcc', u'proto_xns-idp'), (91.768873403019739, 4.1916486931318735, 92.343135349564861, 3.7115235024401083, u'proto_ipv6-route', u'proto_vrrp'), (91.763356562137062, 3.9007827240631197, 92.327083584558665, 3.8183453025164127, u'sjit', u'proto_sun-nd'), (91.763356562137062, 3.5984068925295496, 92.335865500317325, 3.4866735037175087, u'sloss', u'proto_ddp'), (91.763356562137062, 4.0784861532012568, 92.294156578859727, 4.0812961918065325, u'proto_br-sat-mon', u'state_REQ'), (91.763356562137062, 3.285904992538049, 92.220257302876647, 3.2917830857341097, u'proto_gmtp', u'proto_igp'), (91.763066202090599, 3.5842244074253231, 92.35566095214422, 3.272701969063168, u'proto_ipcomp', u'proto_sm'), (91.763066202090599, 3.8877034736369143, 92.273945620595001, 3.7780721680188756, u'proto_aes-sp3-d', u'proto_hmp'), (91.763066202090599, 2.8423741672479155, 92.199273512962606, 2.9958445143833781, u'stcpb', u'proto_iatp'), (91.757549361207907, 3.9350077390661049, 92.313009200250619, 3.7710603017063491, u'ct_flw_http_mthd', u'proto_sun-nd'), (91.75725900116143, 3.0895852943175388, 92.280141897555396, 3.0942753727323287, u'proto_rsvp', u'state_FIN'), (91.75696864111498, 3.2423710728707533, 92.400914479652556, 2.9740000590714866, u'proto_egp', u'proto_ipv6'), (91.751451800232289, 3.3002200257565719, 92.279811366190089, 3.2600665174621999, u'proto_ipv6-frag', u'proto_prm'), (91.751161440185825, 2.9096430881357271, 92.323055624087104, 2.8849434008369284, u'proto_encap', u'state_FIN'), (91.739547038327515, 3.5144932098438253, 92.356322958662972, 3.2987596142770732, u'smean', u'proto_wb-mon'), (91.739256678281066, 2.9353013960879983, 92.367736537656185, 2.6676402545023477, u'ct_srv_dst', u'proto_gre'), (91.733449477351911, 3.3490223923999149, 92.218225985919432, 3.3319443007155316, u'proto_compaq-peer', u'proto_sps'), (91.542973286875707, 4.8966539309953667, 92.067941619104431, 4.5388395467170763, u'proto_cphb', u'proto_mtp'), (91.542973286875707, 4.0050857398343487, 92.094283311696813, 3.8769661166357028, u'proto_tlsp', u'proto_vmtp'), (91.542682926829272, 3.8983069944674189, 92.145328051217646, 3.6756363071896794, u'proto_cftp', u'proto_isis'), (91.53745644599303, 4.0650392504560386, 92.030358312977668, 4.0457322604667123, u'swin', u'response_body_len'), (91.537166085946581, 3.7393552072984546, 92.024679071584117, 3.6385488409011053, u'proto_iplt', u'proto_pnni'), (91.537166085946566, 3.7393552072984546, 92.100507345704514, 3.6566565272818692, u'proto_snp', u'service_dhcp'), (91.537166085946566, 3.9177787735242919, 92.095843671867911, 3.8098510252544751, u'stcpb', u'proto_wb-expak'), (91.536875725900131, 4.2712681424571546, 92.065440465772696, 4.064529353677905, u'ct_dst_src_ltm', u'service_snmp'), (91.531068524970962, 4.341591746362834, 92.066323584683118, 4.2486414419812855, u'swin', u'proto_tp++'), (91.531068524970962, 3.583342979833521, 92.081889405110246, 3.6278504909392923, u'smean', u'proto_crudp'), (91.530778164924499, 3.5937152936838768, 92.215993534245428, 3.0821695474568491, u'proto_ax.25', u'proto_br-sat-mon'), (91.525261324041821, 4.8280338341115181, 92.087816668381464, 4.5744548406347745, u'sload', u'proto_merit-inp'), (91.525261324041821, 3.89941781876635, 92.083340247792066, 3.8041701366383998, u'proto_tcf', u'proto_ttp'), (91.524970963995372, 3.3784146432849269, 92.097172225829922, 3.0806011624049869, u'proto_egp', u'service_ftp'), (91.524970963995358, 3.071566254672061, 92.051856957656994, 3.1779442363403492, u'synack', u'proto_chaos'), (91.524970963995358, 3.3955704460207374, 92.076813631407745, 3.1346376930285107, u'proto_ipv6', u'proto_ipv6-frag'), (91.524970963995358, 3.2508931241910606, 92.154316402973592, 3.0444495711880126, u'proto_netblt', u'state_RST'), (91.524970963995358, 4.3017222180680887, 91.953206168747229, 4.1219682643483999, u'swin', u'proto_vrrp'), (91.524970963995344, 3.8713357314078967, 92.168894861370902, 3.4329026487973544, u'proto_pri-enc', u'proto_sep'), (91.519454123112652, 3.7561831349603856, 92.222156990575002, 3.4928744222006181, u'proto_chaos', u'proto_mux'), (91.519163763066217, 3.0873916426915851, 92.005981087960251, 3.1467379004314311, u'proto_isis', u'proto_sprite-rpc'), (91.519163763066189, 2.8575818454480721, 92.12277026362014, 2.7642501934688872, u'proto_ipcv', u'proto_mux'), (91.519163763066189, 3.2658496602621518, 92.07959799701149, 3.2308493753246568, u'proto_compaq-peer', u'proto_zero'), (91.519163763066189, 3.451307454551638, 92.018971132776173, 3.3847524517876439, u'proto_sdrp', u'proto_xnet'), (91.519163763066189, 2.8575818454480721, 92.041521970093413, 2.9224360261261904, u'proto_isis', u'service_pop3'), (91.518873403019739, 2.4191263062047685, 92.119366435278323, 2.4119616715731254, u'is_sm_ips_ports', u'proto_i-nlsp'), (91.513356562137048, 3.2977472233522644, 92.020627692720709, 3.3618986310764112, u'ct_state_ttl', u'proto_xns-idp'), (91.513066202090585, 2.9164276626617105, 92.124039148945243, 2.7837628321772643, u'proto_l2tp', u'service_irc'), (91.513066202090585, 2.2072071636948567, 92.121383758470387, 2.3186530152323184, u'service_pop3', u'state_FIN'), (91.507549361207879, 4.3044687129176697, 92.265775649146605, 3.9295554988985848, u'ct_dst_src_ltm', u'proto_tlsp'), (91.507549361207879, 3.9303161629632171, 92.15567184268005, 3.6732153961224729, u'proto_l2tp', u'service_radius'), (91.507259001161444, 3.531160304389874, 92.135814892244412, 3.2330955897490736, u'proto_netblt', u'proto_sprite-rpc'), (91.507259001161444, 3.4814441887694363, 92.128331035778132, 3.185811552681745, u'proto_iso-ip', u'service_dhcp'), (91.501451800232275, 3.2935166334278594, 92.181458150742984, 3.1225088080968004, u'proto_irtp', u'proto_pgm'), (91.48954703832753, 4.293634426149926, 92.119796517470462, 3.8443700008711175, u'proto_idpr-cmtp', u'proto_pvp'), (91.304878048780466, 4.8848366163163011, 91.841719209132719, 4.517159042454133, u'proto_sprite-rpc', u'service_snmp'), (91.299070847851326, 3.8727519839022686, 91.828288149034961, 3.7847876951838324, u'proto_ddx', u'service_dns'), (91.298780487804891, 4.1288535081270128, 91.883531494300485, 3.8352685272919231, u'proto_mfe-nsp', u'proto_micp'), (91.298780487804862, 4.2971356428530205, 91.986745668784934, 3.9006081902162806, u'dur', u'proto_mfe-nsp'), (91.298780487804862, 4.8779269400883551, 91.825805751493931, 4.507664025109797, u'proto_fc', u'proto_mux'), (91.292973286875721, 3.4037185807556658, 91.901983311891456, 3.3766189544606648, u'proto_dcn', u'proto_gre'), (91.292973286875721, 3.7068735585112376, 91.819678680447652, 3.5644836778266402, u'proto_gmtp', u'proto_sep'), (91.292973286875721, 3.8567730587710654, 91.856048017579155, 3.7805391607199832, u'proto_ttp', u'proto_vmtp'), (91.292973286875721, 3.5669788172408068, 91.878068532324136, 3.4582571790480432, u'proto_secure-vmtp', u'proto_xnet'), (91.292973286875707, 3.1973954842409826, 91.773212625157697, 3.2261622017957792, u'proto_ipcv', u'proto_tlsp'), (91.292682926829258, 2.8322370849850333, 91.885965197704252, 2.9054410826649475, u'stcpb', u'state_INT'), (91.292682926829258, 3.5441451939001443, 91.798749699912491, 3.3723098937693012, u'proto_netblt', u'service_ssh'), (91.287166085946581, 3.4094123267921743, 91.930960393903277, 3.2278866779405648, u'sttl', u'state_CLO'), (91.287166085946581, 4.2991620869288187, 91.927702235011211, 3.9660677771352013, u'dttl', u'proto_uti'), (91.287166085946552, 3.898415993374222, 91.915978995844355, 3.6310307535679236, u'proto_mobile', u'proto_xtp'), (91.286875725900117, 3.1868064213812297, 91.945257070337377, 2.9530319653437789, u'proto_bbn-rcc', u'proto_l2tp'), (91.286875725900117, 2.8390765699972467, 91.956071135389266, 2.6863379859335588, u'proto_cftp', u'proto_eigrp'), (91.286875725900117, 3.0512875594259117, 91.985143470642754, 2.8425467469132761, u'proto_ipv6-frag', u'proto_sun-nd'), (91.286875725900103, 4.2008610369988713, 91.840332420197782, 3.929731620216022, u'dur', u'proto_etherip'), (91.286875725900103, 3.2397334624869294, 91.892498861760814, 3.2527940915964191, u'proto_dcn', u'proto_egp'), (91.286875725900103, 2.8496645021943192, 91.85803380819992, 2.7700661823914294, u'proto_cpnx', u'proto_ipip'), (91.281068524970948, 2.62774776853739, 91.88004697586581, 2.7226092467158489, u'proto_igp', u'proto_visa'), (91.281068524970948, 3.2284101398673557, 91.953050914283267, 2.9234585401393596, u'proto_iso-ip', u'proto_pri-enc'), (91.281068524970948, 3.0667667558934495, 91.892771744509247, 3.1709674114025685, u'dinpkt', u'proto_igp'), (91.281068524970948, 3.2103611758291191, 91.879658941864321, 3.2367719270598991, u'trans_depth', u'proto_compaq-peer'), (91.275261324041807, 3.2337339321626213, 91.875938134381073, 3.1413380427849478, u'ct_src_dport_ltm', u'proto_egp'), (91.275261324041807, 3.9007828861631926, 91.697697798883837, 4.0965531472633137, u'ackdat', u'proto_gre'), (91.275261324041807, 3.6073558586849028, 91.714630023049509, 3.5901649055319504, u'proto_cphb', u'proto_encap'), (91.274970963995344, 3.0458296792471757, 91.772443468515448, 3.1418410202067149, u'proto_mtp', u'proto_pim'), (91.274970963995344, 3.4405392658334866, 91.860520845903409, 3.2166297714705863, u'sinpkt', u'proto_cftp'), (91.274970963995344, 2.4239880137420795, 91.931971329416314, 2.3375037292640624, u'proto_mtp', u'proto_vrrp'), (91.274970963995344, 3.0458296792471766, 91.788865086511137, 2.906985931186624, u'proto_bna', u'proto_sctp'), (91.269454123112652, 3.4347273482540936, 91.911857983286566, 3.3293103625968592, u'dttl', u'ct_srv_dst'), (91.269163763066203, 3.6063041442885311, 91.905825429006129, 3.2654905152266176, u'proto_ax.25', u'proto_rvd'), (91.269163763066203, 3.2412080434789479, 91.889339737259391, 3.1220165867008602, u'proto_crtp', u'proto_secure-vmtp'), (91.257259001161444, 2.7237858660239938, 91.900777211079969, 2.5398121731964629, u'proto_leaf-2', u'proto_vrrp'), (91.251451800232289, 3.1267700373883511, 91.779642529922484, 3.2082160477951058, u'proto_sat-expak', u'service_smtp'), (91.078687572589999, 4.5145869221564308, 91.818801767565745, 4.2460345709747269, u'proto_ip', u'state_FIN'), (91.067073170731689, 4.270619521495548, 91.582792027773664, 4.2564891433756396, u'proto_chaos', u'proto_ipv6-opts'), (91.060685249709621, 3.347664233293012, 91.679639569876443, 3.3390473389955337, u'proto_leaf-2', u'proto_sdrp'), (91.060685249709621, 3.662539762276356, 91.586277870731053, 3.5736050927213396, u'proto_idpr-cmtp', u'proto_mtp'), (91.054878048780481, 3.3350391541692108, 91.540706909082118, 3.5188442599679912, u'proto_encap', u'proto_narp'), (91.054878048780481, 3.8262331157401794, 91.653365637238764, 3.71521168258541, u'ct_srv_src', u'proto_swipe'), (91.054878048780481, 3.9862337934429783, 91.62683410694784, 3.6678519152369402, u'is_ftp_login', u'proto_st2'), (91.054878048780481, 3.8413894631909229, 91.691743745999361, 3.6166002224057032, u'proto_igp', u'proto_pup'), (91.054878048780481, 3.5008960292922513, 91.660174784565058, 3.4470493995672666, u'proto_arp', u'proto_ax.25'), (91.054878048780481, 3.0145213164864892, 91.71226366050422, 2.9151162358211105, u'proto_ipip', u'service_ftp-data'), (91.054878048780481, 2.7995247395855323, 91.655297530275675, 2.7912248265159438, u'proto_ddp', u'proto_prm'), (91.04907084785134, 3.7027345776796685, 91.59682485797947, 3.732888186329069, u'sjit', u'proto_ptp'), (91.04907084785134, 4.0047533074646191, 91.702591682705403, 3.6600603267291936, u'swin', u'proto_narp'), (91.04907084785134, 3.8455232483563058, 91.667658478427455, 3.6126862237013544, u'proto_idpr', u'proto_zero'), (91.04907084785134, 4.5291240258111714, 91.653531960840922, 4.2046374866810545, u'proto_ipip', u'state_RST'), (91.049070847851326, 3.710859113130502, 91.589326008697896, 3.8099805606581945, u'proto_scps', u'state_CLO'), (91.049070847851326, 3.710859113130502, 91.770119476548984, 3.3529079326555715, u'proto_rdp', u'state_ACC'), (91.049070847851326, 3.8678473797119537, 91.701842255391824, 3.6994177481324013, u'proto_ddx', u'proto_ib'), (91.048780487804876, 3.8696478060910073, 91.684260081023297, 3.5451443220219176, u'proto_smp', u'proto_sps'), (91.048780487804876, 2.9638498862027425, 91.587916052201763, 3.0594458061291467, u'ct_ftp_cmd', u'proto_srp'), (91.048780487804876, 3.5239456573586057, 91.533464739188219, 3.7177708134952567, u'proto_xtp', u'service_snmp'), (91.048780487804876, 3.6731114656827457, 91.616263282423532, 3.3770281829909883, u'proto_3pc', u'proto_narp'), (91.048780487804876, 3.7127356690106561, 91.694655081663313, 3.451252140609018, u'ct_state_ttl', u'proto_egp'), (91.048780487804876, 3.5318796897947897, 91.626161879788, 3.4009684811515761, u'ct_dst_ltm', u'proto_larp'), (91.048780487804876, 3.6888969884312992, 91.579237504790541, 3.5490617695505264, u'service_dns', u'service_ssh'), (91.048780487804876, 4.1242358729193924, 91.631435306988337, 3.7646418757047502, u'proto_pup', u'proto_visa'), (91.043263646922185, 3.7226556519830543, 91.691752015018423, 3.6293943360796512, u'dtcpb', u'proto_ip'), (91.042973286875721, 3.7013373559063223, 91.714328483915892, 3.4023818062026638, u'proto_merit-inp', u'proto_nsfnet-igp'), (91.042973286875721, 3.7013373559063223, 91.705967279902509, 3.3299729557369027, u'proto_il', u'proto_larp'), (91.042973286875721, 3.7164311532119569, 91.795407908690876, 3.3995523133222174, u'sloss', u'stcpb'), (91.042973286875721, 3.3639428315824635, 91.796852447100804, 2.95412651620323, u'proto_3pc', u'proto_wb-mon'), (91.042973286875721, 3.7326029156719156, 91.673267156292425, 3.5423556098639155, u'ct_dst_ltm', u'proto_ipcomp'), (91.042973286875721, 3.190975481899303, 91.596716688776098, 3.179574211832298, u'proto_bna', u'proto_encap'), (91.042973286875721, 2.5816178706263586, 91.711173088865067, 2.5103320802096345, u'ct_dst_ltm', u'state_ACC'), (91.042973286875721, 3.2091334777490848, 91.659009149477384, 3.0869045661929819, u'proto_ax.25', u'proto_vines'), (91.042973286875721, 4.1488819048970331, 91.748857357792488, 3.7555215674176945, u'proto_ib', u'proto_micp'), (91.042973286875721, 2.792586198850437, 91.623081718900536, 2.7924370435353558, u'proto_etherip', u'state_INT'), (91.042973286875721, 3.3466249001385897, 91.597691365437086, 3.2480291270252919, u'dwin', u'service_dns'), (91.042973286875721, 3.9959319211383884, 91.632272223369924, 3.700801574149172, u'proto_ib', u'proto_smp'), (91.042682926829272, 4.3189806050655832, 91.677328009947345, 3.7537544153858753, u'proto_i-nlsp', u'state_FIN'), (91.037166085946581, 3.5981090323923124, 91.731530130318944, 3.3021361876117457, u'proto_mux', u'proto_pnni'), (91.037166085946581, 3.5735057649731936, 91.693524371026442, 3.4282356920676373, u'proto_gmtp', u'proto_tp++'), (91.037166085946581, 3.3769409678537774, 91.605810096691556, 3.3898981482043866, u'ct_srv_src', u'proto_ipv6-route'), (91.036875725900117, 3.0440587433979309, 91.792680515983619, 2.7593918352585862, u'sloss', u'proto_sm'), (91.031358885017411, 2.8548473234061875, 91.64897166325737, 2.9917081136122485, u'proto_uti', u'proto_vines'), (91.031068524970962, 3.4266425908768596, 91.679895451688367, 3.1310160406840515, u'proto_ipv6-route', u'state_CLO'), (91.031068524970962, 3.2391170780957079, 91.742565153840317, 2.8749800260976408, u'service_ssh', u'service_ssl'), (91.031068524970962, 2.8678050403516178, 91.793462039714484, 2.6547873400286091, u'proto_ifmp', u'proto_scps'), (91.031068524970962, 2.3925521414310178, 91.669296098034181, 2.7118534551306204, u'ct_dst_sport_ltm', u'proto_ggp'), (91.031068524970962, 2.3925521414310178, 91.585262874769398, 2.5917709879371595, u'proto_ipip', u'proto_ptp'), (91.031068524970962, 4.0483316480049236, 91.6853360340248, 3.7422797956455507, u'proto_nsfnet-igp', u'service_irc'), (91.025261324041807, 4.0164762159848539, 91.625221983239115, 3.6371015863071698, u'proto_arp', u'service_-'), (91.024970963995358, 2.8652207979203812, 91.639389195148297, 2.9103316845139773, u'ct_state_ttl', u'proto_ipcomp'), (91.024970963995358, 3.9340899731679548, 91.62252524726938, 3.5547899003938386, u'proto_crtp', u'service_ftp-data'), (91.019163763066189, 2.8609330237704973, 91.587678942896261, 2.9257380017741426, u'proto_gmtp', u'proto_l2tp'), (91.018873403019725, 3.2794561037562668, 91.735174616418291, 2.8017537561220167, u'proto_dgp', u'proto_iso-tp4'), (91.013356562137048, 3.971433010808211, 91.654415997439258, 3.7065611745564935, u'proto_eigrp', u'proto_leaf-1'), (91.013356562137048, 4.2670595609842863, 91.718478291734101, 3.9051877622895845, u'dmean', u'proto_secure-vmtp'), (90.822880371660858, 3.2936005313146812, 91.44031805350879, 3.2505677521217935, u'response_body_len', u'proto_argus'), (90.816782810685254, 3.6268450331715023, 91.62265888643924, 3.3324111222420383, u'sbytes', u'proto_ipnip'), (90.816782810685254, 3.9275729717443322, 91.411819743518961, 3.8074276425971374, u'spkts', u'dload'), (90.816782810685254, 3.7804817947325229, 91.451446783145997, 3.5438745374826999, u'proto_pup', u'proto_vines'), (90.816782810685254, 3.6274310127460034, 91.384202915902137, 3.5287222140286381, u'proto_a/n', u'service_radius'), (90.816782810685254, 3.7804817947325229, 91.390656509589761, 3.645522326810513, u'proto_ipx-n-ip', u'service_pop3'), (90.810975609756085, 3.3478500890972387, 91.434727899768149, 3.2490114628536624, u'proto_dgp', u'service_radius'), (90.810975609756085, 3.4798650495796641, 91.450742252916172, 3.4603062587491662, u'is_ftp_login', u'service_radius'), (90.810975609756085, 4.8422442363032143, 91.405694305694297, 4.4974297034498871, u'is_sm_ips_ports', u'service_pop3'), (90.810685249709636, 2.7121356143991919, 91.50688273717391, 2.8065134189717411, u'response_body_len', u'proto_sps'), (90.810685249709636, 4.0603209700997809, 91.40245543929754, 3.8165078969609993, u'dload', u'ct_src_ltm'), (90.805168408826944, 4.1116879410072871, 91.43960699691597, 3.9417128816390061, u'service_-', u'service_ssl'), (90.805168408826944, 4.7635202441592464, 91.473338303203661, 4.3322847628907493, u'proto_mfe-nsp', u'state_REQ'), (90.804878048780481, 3.2933587767360697, 91.313053664429859, 3.6390079656203578, u'ct_src_dport_ltm', u'proto_mobile'), (90.804878048780481, 3.8356779302011175, 91.399213255674354, 3.6232014982801894, u'proto_idrp', u'proto_st2'), (90.804878048780481, 3.8356779302011179, 91.345224672386678, 3.8544844420634363, u'proto_encap', u'proto_uti'), (90.804878048780481, 4.0776351684529155, 91.360686920346211, 3.899593872245493, u'proto_sctp', u'service_-'), (90.804878048780481, 3.6532467795516492, 91.367821014304269, 3.51959277046203, u'proto_cbt', u'proto_ipx-n-ip'), (90.79907084785134, 3.9767892165433438, 91.29271134054008, 3.8076818195075726, u'proto_ippc', u'proto_pipe'), (90.79907084785134, 3.3846935219029324, 91.56218725341013, 3.1338863293365158, u'proto_ib', u'proto_unas'), (90.79907084785134, 3.831587872507018, 91.566865548904815, 3.4725485948936083, u'sinpkt', u'state_CON'), (90.79907084785134, 3.8242756801222493, 91.477577794991277, 3.5525612643532121, u'proto_chaos', u'proto_ptp'), (90.79907084785134, 3.8231639727316287, 91.498553804489688, 3.7438162028517934, u'proto_igmp', u'proto_visa'), (90.79907084785134, 2.9630567123369711, 91.524243175370998, 2.9060069336456626, u'dloss', u'proto_pri-enc'), (90.79907084785134, 4.5110974125045962, 91.43244352546678, 4.1395032881331622, u'proto_pri-enc', u'proto_sps'), (90.79907084785134, 4.2523436089949893, 91.332968865400076, 4.139591368568615, u'proto_sep', u'proto_vmtp'), (90.799070847851326, 4.0059054877356122, 91.490523712316616, 3.8389525457953662, u'proto_compaq-peer', u'proto_l2tp'), (90.799070847851326, 3.323744691860417, 91.438764326734244, 3.2642839198563847, u'proto_udp', u'proto_wsn'), (90.799070847851326, 3.6806628175737997, 91.502325655720412, 3.5927039738698032, u'ct_state_ttl', u'proto_merit-inp'), (90.798780487804876, 3.5172853725346833, 91.449021425783286, 3.3338261479005435, u'dloss', u'state_FIN'), (90.798780487804876, 3.8260776374756911, 91.409166752469972, 3.433876390788873, u'ackdat', u'proto_kryptolan'), (90.798780487804876, 3.8260776374756911, 91.421292943085859, 3.5456576730529719, u'proto_ipv6-frag', u'service_dns'), (90.798780487804876, 3.6749262904062463, 91.352968285287517, 3.7256912629232439, u'proto_tp++', u'proto_visa'), (90.798780487804876, 3.1603021285588944, 91.449188919032011, 2.8782942810694245, u'proto_sps', u'state_ACC'), (90.798780487804876, 2.7465415873316501, 91.476547526166414, 2.6970581711331012, u'proto_ddx', u'proto_pgm'), (90.793263646922171, 3.5273640195906153, 91.530230803345077, 3.2774944840876397, u'response_body_len', u'ct_srv_src'), (90.793263646922171, 3.5437988202816904, 91.509882426435084, 3.4280467366045473, u'is_sm_ips_ports', u'proto_encap'), (90.792973286875721, 2.8044519295760209, 91.505120369654449, 2.8012420696023224, u'swin', u'proto_mfe-nsp'), (90.792973286875721, 3.3903519899539241, 91.452759838290703, 3.4510283765611973, u'sttl', u'djit'), (90.792973286875721, 2.8044519295760209, 91.596406609938029, 2.5701519630129646, u'proto_ipx-n-ip', u'proto_isis'), (90.792973286875721, 2.7627023584613308, 91.540963002195355, 2.5271212976498121, u'proto_any', u'proto_sdrp'), (90.792973286875721, 2.3162363060151421, 91.393732405244705, 2.4401471020106782, u'sttl', u'proto_ospf'), (90.792973286875721, 2.549262142929837, 91.456059989766999, 2.5807607111443063, u'proto_merit-inp', u'proto_sm'), (90.792682926829258, 3.1575087069083727, 91.594892772295324, 2.614488778703457, u'proto_iso-ip', u'proto_stp'), (90.787166085946566, 3.2058495990854663, 91.467893726907263, 3.1385448178226714, u'sloss', u'proto_chaos'), (90.787166085946566, 3.5497924580558124, 91.445666284962272, 3.2146036633752493, u'ct_flw_http_mthd', u'proto_igmp'), (90.787166085946566, 3.1782112099843101, 91.428214033141913, 3.051164786538251, u'proto_cftp', u'proto_rdp'), (90.787166085946566, 3.3767968231517274, 91.523576547794079, 3.2149598879907599, u'dinpkt', u'proto_mfe-nsp'), (90.786875725900131, 3.1347085576380662, 91.464166566770658, 2.9163295972901451, u'proto_pim', u'service_ssh'), (90.781068524970948, 3.6885039108542363, 91.473965927125832, 3.324927850541993, u'proto_ggp', u'proto_iatp'), (90.781068524970948, 3.0109239197472348, 91.411248321145152, 3.0876226741517097, u'dmean', u'service_radius'), (90.780778164924513, 3.3946217549889348, 91.440783159449012, 2.9010081243030386, u'proto_nsfnet-igp', u'service_dhcp'), (90.775261324041807, 3.3968040295592714, 91.321718607631112, 3.4982234494168081, u'proto_ggp', u'proto_kryptolan'), (90.774970963995344, 3.4158838608632101, 91.515662421296341, 3.0075369527486919, u'proto_gmtp', u'proto_st2'), (90.590301974448323, 4.01213877472789, 91.201166207595733, 3.9264923570718056, u'proto_l2tp', u'state_CLO'), (90.578687572590013, 3.8533388581798964, 91.219849195367274, 3.6295081148411921, u'proto_iatp', u'proto_ip'), (90.572590011614395, 3.2442513617182089, 91.208647744147015, 3.2546754329842451, u'proto_argus', u'proto_sprite-rpc'), (90.567073170731703, 3.6268310856576829, 91.263882766802865, 3.6023818653621822, u'sload', u'proto_gre'), (90.56678281068524, 3.9216255759026901, 91.202606331218036, 3.6322449395659069, u'proto_tp++', u'service_pop3'), (90.56678281068524, 3.7433853669702062, 91.229378651139967, 3.585847557992937, u'ct_dst_src_ltm', u'proto_arp'), (90.56678281068524, 2.8684118625742059, 91.247578621511209, 2.7739605640666456, u'proto_sdrp', u'proto_tcf'), (90.56678281068524, 3.5725248782404107, 91.198654433570994, 3.2905424965755055, u'proto_emcon', u'proto_igp'), (90.566492450638805, 3.7509749794059521, 91.322434491595828, 3.5125845046176947, u'response_body_len', u'proto_a/n'), (90.560975609756099, 4.3564675038822225, 91.278584774061883, 4.0595751403976887, u'proto_3pc', u'proto_sep'), (90.560975609756099, 3.6405897495942385, 91.333369455294232, 3.297131648175867, u'proto_ipv6-no', u'service_ftp-data'), (90.560975609756085, 3.6162755105445337, 91.289396234593397, 3.4326478259647333, u'proto_fire', u'service_radius'), (90.560975609756085, 3.4559603180724716, 91.323121852987214, 3.2782701759915969, u'proto_etherip', u'proto_iso-ip'), (90.560975609756085, 3.4559603180724716, 91.253823607373178, 3.3616299914608634, u'sbytes', u'service_-'), (90.560975609756085, 3.917272298974027, 91.230086233635802, 3.7516993794033331, u'proto_crtp', u'proto_merit-inp'), (90.560685249709636, 4.1778043282431083, 91.204125369737127, 3.8139629341430692, u'proto_cftp', u'proto_etherip'), (90.560685249709636, 3.8969828468883119, 91.307793764478944, 3.4047929420596303, u'proto_tp++', u'proto_xnet'), (90.560685249709636, 4.0179369084553569, 91.251987207621141, 3.6079289640130972, u'ct_dst_sport_ltm', u'proto_fc'), (90.560685249709621, 3.4498301286659738, 91.198841551181573, 3.3043266180472584, u'proto_ib', u'proto_pvp'), (90.560685249709621, 3.2364923543807405, 91.317866838568236, 3.0174955103253258, u'sjit', u'proto_any'), (90.554878048780481, 4.1142878130512663, 91.191203223719697, 3.8429154509171655, u'dinpkt', u'proto_pim'), (90.554878048780481, 4.1142878130512655, 91.317125522849011, 3.515518342403988, u'proto_kryptolan', u'proto_vines'), (90.554878048780481, 3.6777715622921021, 91.397076742522259, 3.2179413621038897, u'proto_micp', u'state_CLO'), (90.554878048780481, 3.6300639400184367, 91.18880628281552, 3.4895483082571168, u'dtcpb', u'service_http'), (90.554878048780481, 3.6140214521630507, 91.324810099480302, 3.149080738134471, u'dttl', u'proto_pgm'), (90.554878048780481, 3.4536016285353708, 91.344318686494603, 2.9652459767487911, u'ackdat', u'proto_skip'), (90.554878048780481, 3.944223649731851, 91.232285867816728, 3.6783022640826868, u'proto_irtp', u'service_radius'), (90.549070847851326, 3.130810200125504, 91.225952925271713, 3.1039781724492279, u'sload', u'proto_secure-vmtp'), (90.549070847851326, 3.9108134183167311, 91.201225674909878, 3.654821056601941, u'proto_igp', u'proto_sctp'), (90.542973286875721, 3.1185409750327504, 91.208364861524771, 3.0433984605701867, u'ct_srv_src', u'service_-'), (90.542973286875721, 3.8373555755178881, 91.271042473859708, 3.4886059196345172, u'rate', u'proto_ib'), (90.542973286875721, 2.5147439767778619, 91.299305160662669, 2.4304279587508697, u'proto_leaf-2', u'service_radius'), (90.537166085946581, 2.5309581177936415, 91.217733728260043, 2.7559978816504076, u'dloss', u'proto_br-sat-mon'), (90.537166085946581, 2.9647151367539664, 91.184280886734754, 2.9865187959324855, u'proto_arp', u'state_CLO'), (90.537166085946581, 3.1130204603111391, 91.207864031393427, 3.2268510139671274, u'proto_pim', u'proto_wb-mon'), (90.531358885017426, 3.8356757761412066, 91.262790592723036, 3.5426840877076669, u'proto_iatp', u'proto_igp'), (90.531068524970976, 3.000895578729311, 91.303888172263385, 2.6480505687963571, u'is_sm_ips_ports', u'proto_qnx'), (90.531068524970948, 4.3058706049679856, 91.225742947893565, 3.7861319133763054, u'sinpkt', u'proto_uti'), (90.525261324041821, 2.7474788956441669, 91.202958132106318, 2.7691865352029206, u'proto_ddx', u'proto_larp'), (90.340592334494758, 4.3368874925402583, 90.886811890149517, 4.2146015470206333, u'proto_argus', u'proto_ddp'), (90.334785133565603, 3.6517575530273563, 90.980561418531337, 3.7118882625189586, u'proto_dcn', u'proto_rsvp'), (90.328687572589999, 3.8160223317730848, 91.064633822502898, 3.5592408643812723, u'proto_ipcv', u'proto_pgm'), (90.322880371660858, 3.8421105360199923, 91.005686961410447, 3.5837257976251187, u'proto_pipe', u'service_-'), (90.322880371660858, 3.3705270844154556, 90.994658307524645, 3.3761080953840983, u'proto_scps', u'service_ssl'), (90.322590011614395, 3.6700601222414546, 91.061027811307781, 3.2757454298676074, u'proto_argus', u'state_ACC'), (90.316782810685254, 3.5484153808205958, 90.974258883142269, 3.2081391637900443, u'proto_emcon', u'proto_i-nlsp'), (90.316782810685254, 4.4558472318290478, 91.091709839660979, 4.0588944303472392, u'proto_irtp', u'proto_ttp'), (90.316782810685254, 3.5320020615674519, 91.114449097450091, 3.2034159198271421, u'proto_vines', u'service_ssh'), (90.316782810685254, 3.3848877184881068, 91.063054974453436, 3.2457138907645096, u'is_sm_ips_ports', u'proto_ipv6-opts'), (90.316782810685254, 3.3497444238816261, 91.00739419699029, 3.259803869897187, u'sttl', u'service_ftp-data'), (90.310975609756099, 4.059638946729283, 91.122683579113101, 3.5957716822452115, u'proto_arp', u'proto_ptp'), (90.310975609756099, 3.180323132304927, 91.086417547649901, 2.9698948400265226, u'ct_ftp_cmd', u'service_radius'), (90.310975609756085, 3.3621753703688242, 91.00057145919213, 3.3802915438361487, u'proto_uti', u'service_radius'), (90.310975609756085, 3.575842491633213, 91.083415444107871, 3.3283638239595472, u'proto_idrp', u'proto_wsn'), (90.310975609756085, 4.0009141524044347, 90.979863160095732, 3.8565728909948604, u'proto_il', u'proto_rsvp'), (90.305168408826944, 4.2201641660999378, 91.053490652820116, 3.8533434011596333, u'proto_rdp', u'service_snmp'), (90.305168408826944, 2.8358793861320808, 91.001919605221332, 3.0948833958098581, u'proto_igp', u'service_smtp'), (90.304878048780481, 4.6261312217753803, 91.098316544154017, 4.024430394533951, u'proto_l2tp', u'proto_sat-mon'), (90.304878048780481, 2.6202943897193567, 91.118344660520592, 2.417918786355675, u'dload', u'proto_irtp'), (90.299070847851354, 2.8218013353971383, 90.985879338053238, 2.8840162691897913, u'proto_aris', u'service_pop3'), (90.29907084785134, 4.0164034927795615, 90.982855411625081, 3.7963303226075724, u'proto_isis', u'state_REQ'), (90.29907084785134, 3.0451263982317958, 91.04007027789838, 2.9552629062724116, u'is_sm_ips_ports', u'proto_srp'), (90.29907084785134, 4.0164034927795615, 91.151762661079431, 3.58715972413194, u'proto_emcon', u'proto_l2tp'), (90.298780487804891, 3.6939128667555896, 90.918656277781793, 3.4500447873368945, u'swin', u'proto_pup'), (90.292973286875736, 2.8388878907762609, 91.064619717779621, 2.5444586821301121, u'proto_pri-enc', u'proto_st2'), (90.090592334494772, 4.0174654629482287, 90.713273806297053, 3.805859325519962, u'proto_xnet', u'service_pop3'), (90.084785133565632, 4.5874167063824727, 90.750002150317613, 4.2510507125238375, u'proto_ddp', u'service_smtp'), (90.084785133565617, 3.898591109740507, 90.670923174472733, 4.0323428298959758, u'sbytes', u'proto_iso-ip'), (90.084494773519154, 4.0430397350719902, 90.614233010716276, 3.8903734984010998, u'proto_chaos', u'proto_igmp'), (90.072880371660844, 3.2915639159233372, 90.789096588638927, 3.0614949666075146, u'proto_eigrp', u'service_dns'), (90.072880371660844, 3.4257486126139298, 90.764883667057589, 3.3719372031288746, u'proto_ttp', u'proto_xns-idp'), (90.072590011614409, 4.5811958787993463, 90.783151386372523, 4.1615264278915145, u'dinpkt', u'proto_ipv6-route'), (90.072590011614409, 2.879544367162362, 90.814088250930354, 2.6838775754002349, u'proto_leaf-2', u'service_http'), (90.067073170731703, 3.4958513833720963, 90.825719483984173, 3.2760197442494721, u'ct_src_ltm', u'service_dns'), (90.067073170731703, 3.0991553272943846, 90.858608947624973, 3.119142660002201, u'ct_dst_src_ltm', u'proto_compaq-peer'), (90.066782810685254, 3.7546358694921462, 90.789357381416806, 3.4250507576981337, u'proto_micp', u'proto_ttp'), (90.06678281068524, 2.7008460570794628, 90.744713336889262, 2.7181498219222551, u'proto_etherip', u'proto_sat-mon'), (90.060975609756099, 3.5092548118662936, 90.85842903476437, 3.1081433545634729, u'proto_crudp', u'proto_tcp'), (90.060975609756099, 3.3438125674945023, 90.973069225491514, 2.9131520726680202, u'proto_bbn-rcc', u'proto_ddp'), (90.060975609756099, 3.0858080021272869, 90.738450247070929, 3.2004858847402886, u'ct_src_ltm', u'proto_pvp'), (90.060975609756099, 3.6271197766361882, 90.872835886273734, 3.2486373346514226, u'dur', u'proto_leaf-1'), (90.05516840882693, 4.6451685525589728, 90.807163025126414, 4.2267216289011911, u'proto_st2', u'proto_wsn'), (90.05516840882693, 3.7981877701694993, 90.766034792630549, 3.5560509260629281, u'proto_trunk-2', u'service_snmp'), (90.054878048780495, 3.6559580284072224, 90.858142606217058, 3.302457243309008, u'proto_ipx-n-ip', u'proto_merit-inp'), (90.054878048780466, 2.9716799479730289, 90.784001157232979, 2.9290245584829822, u'synack', u'proto_ttp'), (90.054878048780466, 3.1743709385631473, 90.890948632563834, 2.8981826122785916, u'dload', u'state_CLO'), (90.049070847851326, 3.833036902577363, 90.965735019385193, 3.3467956712128224, u'proto_arp', u'proto_il'), (89.846399535423927, 3.9415816330191955, 90.594216956083159, 3.5586039857426326, u'proto_hmp', u'proto_trunk-2'), (89.840882694541222, 4.8811601368306059, 90.601256484313325, 4.5052571777477715, u'proto_ipv6', u'service_ssh'), (89.840592334494772, 4.5274523645455647, 90.64835879380432, 4.0898135178079293, u'proto_cpnx', u'proto_sprite-rpc'), (89.834785133565617, 4.7853196972386112, 90.575985832415341, 4.3194205942454174, u'proto_pgm', u'proto_vmtp'), (89.834785133565603, 3.1283112875136654, 90.645710734726762, 3.0698826402371737, u'proto_ggp', u'proto_nvp'), (89.608594657375136, 4.1351527515144042, 90.361334467795572, 3.8611254551458898, u'proto_pgm', u'proto_pipe'), (89.602497096399532, 4.5118426122062036, 90.310137436867706, 4.2142339725991196, u'proto_igp', u'proto_ospf'), (89.602497096399532, 4.2531341456829894, 90.346617477468826, 3.9976087860958005, u'proto_narp', u'proto_pim'), (89.596689895470377, 3.9795079940529985, 90.37099579783991, 3.6693199991179211, u'proto_scps', u'proto_xnet'), (89.590592334494772, 3.8076495081114969, 90.208117510539793, 3.6551940322939513, u'proto_emcon', u'proto_iso-tp4'), (89.578977932636462, 3.3957217015262651, 90.273576210966567, 3.3564638167417007, u'proto_encap', u'proto_sm'), (89.578687572589999, 4.7312927928443642, 90.331983760987811, 4.2123374376367639, u'proto_hmp', u'proto_ipnip'), (89.340882694541222, 4.1989831606753487, 90.178053689286045, 3.7192394694788842, u'proto_ptp', u'state_ACC'), (89.334785133565617, 3.9080016874828374, 90.085771716206509, 3.6612232443293786, u'dur', u'proto_iso-ip'), (89.102787456445981, 3.7367102117287927, 89.957781274555842, 3.5695444679458834, u'proto_bna', u'proto_cbt'), (89.096689895470377, 3.0557804851056929, 90.02646181793169, 2.7106590195915525, u'dpkts', u'proto_ipv6-no'), (89.090882694541222, 4.2266299732654344, 89.812880068388026, 3.8539722400277796, u'proto_sat-mon', u'proto_visa')]\n"
     ]
    }
   ],
   "source": [
    "#print(X)\n",
    "# http://stackoverflow.com/questions/18201690/get-unique-combinations-of-elements-from-a-python-list\n",
    "from itertools import combinations\n",
    "L = [1, 2, 3, 4]\n",
    "#combo_list = [\",\".join(map(str, comb)) for comb in combinations(L, 2)]\n",
    "#print combo_list\n",
    "#print X.shape\n",
    "# ref: http://stackoverflow.com/questions/8386675/extracting-specific-columns-in-numpy-array\n",
    "# e.g. columns 1, and 9. data[:, [1, 9]]\n",
    "# Note: numpy indexes are zero-based ref: https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html\n",
    "X1 = X[:, [0,2]]\n",
    "#print X1.shape\n",
    "\n",
    "#  Note: if you interrupt the kernel, rerun the initialization cell above with X above.\n",
    "from sklearn.cluster import KMeans \n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "row, col = X.shape\n",
    "print \"col: \", col\n",
    "L = range(col)\n",
    "print L\n",
    "combo_list = [comb for comb in combinations(L, 2)]\n",
    "numCombos = len(combo_list)\n",
    "print \"combo_list size: \", numCombos\n",
    "#combo_list = [\",\".join(map(str, comb)) for comb in combinations(L, 2)]\n",
    "#print combo_list\n",
    "counter = 0\n",
    "resultList = []\n",
    "\n",
    "import time\n",
    "percentSample = .02 # \n",
    "import random\n",
    "random.shuffle(combo_list)\n",
    "sampleLength = (int)(percentSample * numCombos)\n",
    "print \"sampleLength: \", sampleLength\n",
    "t0 = time.time()\n",
    "\n",
    "# the combo_list is too long, lets just take a random sample and see what we find.\n",
    "\n",
    "\n",
    "for trial in combo_list:\n",
    "    counter+=1\n",
    "    if counter > sampleLength: # Temporary until I get the formatting and data collection correct\n",
    "        break\n",
    "    #print trial\n",
    "    f1, f2 = trial\n",
    "    label1 = dfcopy.columns.get_level_values(0)[f1]\n",
    "    label2 = dfcopy.columns.get_level_values(0)[f2]\n",
    "    print(\"f1: \", f1, label1)\n",
    "    print(\"f2: \", f2, label2)\n",
    "    X1 = X[:, [f1, f2]]\n",
    "    #X1 = df_imputed[['Pclass','Fare']]\n",
    "\n",
    "    cls = KMeans(n_clusters=8, init='k-means++',random_state=1)\n",
    "    cls.fit(X1)\n",
    "    newfeature = cls.labels_ # the labels from kmeans clustering\n",
    "\n",
    "    X = np.column_stack((X,pd.get_dummies(newfeature)))\n",
    "\n",
    "    acc = cross_val_score(clf,X,y=y,cv=cv)\n",
    "    avgAcc = acc.mean()*100\n",
    "    avgAccStd = acc.std()*100\n",
    "    f1 = cross_val_score(clf, X, y=y, cv=cv, scoring='f1')# just testing to see if it is same as default\n",
    "    avgF1 = f1.mean()*100\n",
    "    avgF1Std = f1.std()*100\n",
    "    \n",
    "    print \"Average accuracy (with kmeans for \", label1, \"/\", label2, \")= \", avgAcc, \"+-\", avgAccStd\n",
    "    print \"Average F1 (with kmeans for \", label1, \"/\", label2, \")= \", avgF1, \"+-\", avgF1Std\n",
    "    resultList.append((avgAcc, avgAccStd, avgF1, avgF1Std, label1, label2)  )\n",
    "\n",
    "t1 = time.time()\n",
    "total = t1-t0\n",
    "avgTime = total/counter\n",
    "print \"avg loop time: \", avgTime\n",
    "print \"total time: \", total\n",
    "# http://stackoverflow.com/questions/10695139/sort-a-list-of-tuples-by-2nd-item-integer-value\n",
    "from operator import itemgetter\n",
    "resultListSorted = sorted(resultList,key=itemgetter(0), reverse=True)\n",
    "print resultListSorted[0], resultListSorted[1]\n",
    "print resultListSorted"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[(93.453542392566789, 2.858812883597337, 93.927190716538973, 2.6957426725603568, u'dpkts', u'sloss'), (92.983449477351925, 3.1315794075438981, 93.36949637178698, 3.2087479960698628, u'service_ftp-data', u'service_snmp'), (92.983449477351897, 3.6188655453931897, 93.512536782749848, 3.3913371087657391, u'ct_dst_src_ltm', u'proto_xnet'), (92.733449477351911, 3.393615435820232, 93.166231776668539, 3.3937874967345181, u'spkts', u'proto_ipv6-frag'), (92.727351916376307, 2.1725215424692679, 93.251664393393128, 2.3328807489330754, u'sttl', u'service_snmp'), (92.727351916376307, 3.2231636776396968, 93.198736702528933, 3.1887342476038425, u'proto_aris', u'proto_idpr-cmtp'), (92.727061556329843, 3.7684438335765553, 93.340114751547475, 3.3368017167112169, u'is_ftp_login', u'state_ACC'), (92.721254355400688, 3.2327443595520484, 93.358561001267162, 2.9738496465683539, u'response_body_len', u'proto_nvp'), (92.506968641114966, 2.6538476832496602, 92.9969047699595, 2.5798204527602113, u'sload', u'state_INT'), (92.501161440185825, 4.0420649025671507, 93.03205177027219, 3.6705933732861067, u'sjit', u'proto_micp'), (92.495063879210221, 3.5972267882491846, 93.042258501492427, 3.2946488894097339, u'dwin', u'proto_rvd'), (92.489256678281066, 3.1336255788550336, 92.94359757692294, 2.9920742433577057, u'proto_narp', u'proto_sun-nd'), (92.489256678281066, 2.7054776414626955, 92.975393158750649, 2.6677128913710746, u'ct_src_ltm', u'proto_vrrp'), (92.483159117305448, 2.7384341655164639, 92.932159018537746, 2.7841156521579138, u'proto_fire', u'proto_ip'), (92.274970963995344, 3.6292086409882627, 92.623954353819713, 3.6404853598663243, u'proto_iplt', u'proto_ipx-n-ip'), (92.257259001161444, 3.3424639321575822, 92.830757812805459, 3.1386283692717885, u'proto_unas', u'proto_wb-mon'), (92.257259001161444, 3.9632325859157667, 92.7573017760092, 3.8052741939925658, u'proto_ipcv', u'proto_pim'), (92.257259001161444, 3.9773326268243268, 92.666855399850661, 3.869587050926647, u'proto_fire', u'service_http'), (92.25696864111498, 2.7794073106283861, 92.730209339144466, 2.6495766368932565, u'proto_iso-ip', u'proto_trunk-2'), (92.25116144018584, 2.964526320251462, 92.811815069998858, 2.8538212044277338, u'ct_src_dport_ltm', u'proto_pgm'), (92.25116144018584, 2.9941378492230748, 92.754690284555636, 2.9944144584011783, u'proto_br-sat-mon', u'proto_pup'), (92.24535423925667, 3.0010466114904406, 92.788970611919936, 2.9687205815630873, u'sbytes', u'proto_rvd'), (92.24535423925667, 3.9765880740107256, 92.80655098127346, 3.7261651682662968, u'proto_etherip', u'proto_larp'), (92.233449477351897, 3.0378035897426661, 92.853762474022176, 2.9246450941858146, u'proto_crtp', u'proto_encap'), (92.233159117305462, 2.3801393933669748, 92.811703057874837, 2.3352974043614321, u'proto_ip', u'proto_ipv6-frag'), (92.024970963995372, 2.9949591479023341, 92.688011821178918, 2.6366209059741461, u'response_body_len', u'proto_sctp'), (92.024970963995344, 4.6365306829104895, 92.428811591476261, 4.4207217973985697, u'proto_hmp', u'state_CLO'), (92.024970963995344, 3.6825139289705997, 92.458864056475136, 3.6875279410489901, u'proto_igp', u'proto_merit-inp'), (92.019163763066203, 3.8468130685784425, 92.473889757591067, 3.695049897199377, u'proto_bbn-rcc', u'service_ftp'), (92.019163763066203, 3.3758865858272258, 92.482353558611905, 3.3364552334707467, u'sloss', u'proto_bbn-rcc'), (92.013066202090599, 3.2031324989130536, 92.429518790567727, 3.2739603585817081, u'ct_dst_ltm', u'proto_zero'), (92.013066202090599, 3.0309244402128357, 92.53072063718173, 2.833693813015282, u'ct_src_ltm', u'proto_ptp'), (92.007259001161458, 2.8452804681102908, 92.553211684910892, 2.8759573643554148, u'proto_il', u'proto_sat-mon'), (92.00725900116143, 3.4078137622756084, 92.580439211290567, 3.1976573777669106, u'proto_ax.25', u'proto_visa'), (92.006968641114966, 2.6298458736078074, 92.541765423175221, 2.4648666653738442, u'ct_state_ttl', u'proto_rsvp'), (92.001161440185825, 2.6599128706292063, 92.541472683029809, 2.646498319780989, u'proto_sccopmce', u'proto_trunk-1'), (92.001161440185825, 3.2367417295108045, 92.426699742274224, 3.2910225521009937, u'ct_ftp_cmd', u'proto_ax.25'), (92.001161440185825, 3.0565847240807882, 92.586045458232064, 2.9478910120914201, u'proto_prm', u'service_snmp'), (91.99535423925667, 3.0726955403955305, 92.59592005174413, 2.9266346898108613, u'proto_vrrp', u'proto_wb-mon'), (91.989256678281066, 2.4226221231332565, 92.583784745275437, 2.2366595097035731, u'proto_idrp', u'proto_sctp'), (91.786875725900103, 3.1870467352205201, 92.376948219208742, 3.0195008880351435, u'proto_cphb', u'proto_vmtp'), (91.786875725900103, 3.3774645656882583, 92.42381379373343, 3.2116077264170375, u'is_sm_ips_ports', u'state_ACC'), (91.781068524970962, 3.2208678659768508, 92.425707697048566, 3.0529681059137062, u'dbytes', u'proto_dgp'), (91.781068524970962, 3.3923114034762247, 92.314578234165651, 3.2821360617594588, u'proto_leaf-1', u'proto_wsn'), (91.781068524970962, 4.144479569079528, 92.427594666270636, 3.77887340471149, u'proto_iso-tp4', u'proto_sun-nd'), (91.781068524970948, 3.8757063222991048, 92.250835824887233, 3.7384997169323468, u'proto_srp', u'proto_udp'), (91.780778164924499, 3.1956064415999581, 92.323386003749704, 3.1602361647386488, u'dbytes', u'service_dhcp'), (91.775261324041807, 3.7400207174755713, 92.40768663960155, 3.5815153093372354, u'proto_idrp', u'proto_skip'), (91.774970963995358, 2.8665240411860058, 92.395034714589713, 2.7617827148065004, u'proto_chaos', u'proto_sprite-rpc'), (91.774970963995358, 3.39147570697294, 92.331710766009166, 3.3146961325862327, u'ct_srv_dst', u'proto_br-sat-mon'), (91.774970963995358, 3.7107521026245789, 92.275307957361065, 3.6263081154408225, u'proto_micp', u'service_ftp-data'), (91.774970963995358, 4.0046541502703894, 92.236992377759407, 4.0809038586350077, u'proto_ipcomp', u'proto_iso-ip'), (91.769163763066203, 4.0166373379573868, 92.413512045231471, 3.6488812983479342, u'proto_mux', u'proto_sprite-rpc'), (91.769163763066203, 3.8734789936427365, 92.415830814338094, 3.5339147038132941, u'proto_mfe-nsp', u'service_http'), (91.769163763066203, 3.235535832269719, 92.188199315841885, 3.2977765526039571, u'proto_bbn-rcc', u'proto_xns-idp'), (91.768873403019739, 4.1916486931318735, 92.343135349564861, 3.7115235024401083, u'proto_ipv6-route', u'proto_vrrp'), (91.763356562137062, 3.9007827240631197, 92.327083584558665, 3.8183453025164127, u'sjit', u'proto_sun-nd'), (91.763356562137062, 3.5984068925295496, 92.335865500317325, 3.4866735037175087, u'sloss', u'proto_ddp'), (91.763356562137062, 4.0784861532012568, 92.294156578859727, 4.0812961918065325, u'proto_br-sat-mon', u'state_REQ'), (91.763356562137062, 3.285904992538049, 92.220257302876647, 3.2917830857341097, u'proto_gmtp', u'proto_igp'), (91.763066202090599, 3.5842244074253231, 92.35566095214422, 3.272701969063168, u'proto_ipcomp', u'proto_sm'), (91.763066202090599, 3.8877034736369143, 92.273945620595001, 3.7780721680188756, u'proto_aes-sp3-d', u'proto_hmp'), (91.763066202090599, 2.8423741672479155, 92.199273512962606, 2.9958445143833781, u'stcpb', u'proto_iatp'), (91.757549361207907, 3.9350077390661049, 92.313009200250619, 3.7710603017063491, u'ct_flw_http_mthd', u'proto_sun-nd'), (91.75725900116143, 3.0895852943175388, 92.280141897555396, 3.0942753727323287, u'proto_rsvp', u'state_FIN'), (91.75696864111498, 3.2423710728707533, 92.400914479652556, 2.9740000590714866, u'proto_egp', u'proto_ipv6'), (91.751451800232289, 3.3002200257565719, 92.279811366190089, 3.2600665174621999, u'proto_ipv6-frag', u'proto_prm'), (91.751161440185825, 2.9096430881357271, 92.323055624087104, 2.8849434008369284, u'proto_encap', u'state_FIN'), (91.739547038327515, 3.5144932098438253, 92.356322958662972, 3.2987596142770732, u'smean', u'proto_wb-mon'), (91.739256678281066, 2.9353013960879983, 92.367736537656185, 2.6676402545023477, u'ct_srv_dst', u'proto_gre'), (91.733449477351911, 3.3490223923999149, 92.218225985919432, 3.3319443007155316, u'proto_compaq-peer', u'proto_sps'), (91.542973286875707, 4.8966539309953667, 92.067941619104431, 4.5388395467170763, u'proto_cphb', u'proto_mtp'), (91.542973286875707, 4.0050857398343487, 92.094283311696813, 3.8769661166357028, u'proto_tlsp', u'proto_vmtp'), (91.542682926829272, 3.8983069944674189, 92.145328051217646, 3.6756363071896794, u'proto_cftp', u'proto_isis'), (91.53745644599303, 4.0650392504560386, 92.030358312977668, 4.0457322604667123, u'swin', u'response_body_len'), (91.537166085946581, 3.7393552072984546, 92.024679071584117, 3.6385488409011053, u'proto_iplt', u'proto_pnni'), (91.537166085946566, 3.7393552072984546, 92.100507345704514, 3.6566565272818692, u'proto_snp', u'service_dhcp'), (91.537166085946566, 3.9177787735242919, 92.095843671867911, 3.8098510252544751, u'stcpb', u'proto_wb-expak'), (91.536875725900131, 4.2712681424571546, 92.065440465772696, 4.064529353677905, u'ct_dst_src_ltm', u'service_snmp'), (91.531068524970962, 4.341591746362834, 92.066323584683118, 4.2486414419812855, u'swin', u'proto_tp++'), (91.531068524970962, 3.583342979833521, 92.081889405110246, 3.6278504909392923, u'smean', u'proto_crudp'), (91.530778164924499, 3.5937152936838768, 92.215993534245428, 3.0821695474568491, u'proto_ax.25', u'proto_br-sat-mon'), (91.525261324041821, 4.8280338341115181, 92.087816668381464, 4.5744548406347745, u'sload', u'proto_merit-inp'), (91.525261324041821, 3.89941781876635, 92.083340247792066, 3.8041701366383998, u'proto_tcf', u'proto_ttp'), (91.524970963995372, 3.3784146432849269, 92.097172225829922, 3.0806011624049869, u'proto_egp', u'service_ftp'), (91.524970963995358, 3.071566254672061, 92.051856957656994, 3.1779442363403492, u'synack', u'proto_chaos'), (91.524970963995358, 3.3955704460207374, 92.076813631407745, 3.1346376930285107, u'proto_ipv6', u'proto_ipv6-frag'), (91.524970963995358, 3.2508931241910606, 92.154316402973592, 3.0444495711880126, u'proto_netblt', u'state_RST'), (91.524970963995358, 4.3017222180680887, 91.953206168747229, 4.1219682643483999, u'swin', u'proto_vrrp'), (91.524970963995344, 3.8713357314078967, 92.168894861370902, 3.4329026487973544, u'proto_pri-enc', u'proto_sep'), (91.519454123112652, 3.7561831349603856, 92.222156990575002, 3.4928744222006181, u'proto_chaos', u'proto_mux'), (91.519163763066217, 3.0873916426915851, 92.005981087960251, 3.1467379004314311, u'proto_isis', u'proto_sprite-rpc'), (91.519163763066189, 2.8575818454480721, 92.12277026362014, 2.7642501934688872, u'proto_ipcv', u'proto_mux'), (91.519163763066189, 3.2658496602621518, 92.07959799701149, 3.2308493753246568, u'proto_compaq-peer', u'proto_zero'), (91.519163763066189, 3.451307454551638, 92.018971132776173, 3.3847524517876439, u'proto_sdrp', u'proto_xnet'), (91.519163763066189, 2.8575818454480721, 92.041521970093413, 2.9224360261261904, u'proto_isis', u'service_pop3'), (91.518873403019739, 2.4191263062047685, 92.119366435278323, 2.4119616715731254, u'is_sm_ips_ports', u'proto_i-nlsp'), (91.513356562137048, 3.2977472233522644, 92.020627692720709, 3.3618986310764112, u'ct_state_ttl', u'proto_xns-idp'), (91.513066202090585, 2.9164276626617105, 92.124039148945243, 2.7837628321772643, u'proto_l2tp', u'service_irc'), (91.513066202090585, 2.2072071636948567, 92.121383758470387, 2.3186530152323184, u'service_pop3', u'state_FIN'), (91.507549361207879, 4.3044687129176697, 92.265775649146605, 3.9295554988985848, u'ct_dst_src_ltm', u'proto_tlsp'), (91.507549361207879, 3.9303161629632171, 92.15567184268005, 3.6732153961224729, u'proto_l2tp', u'service_radius'), (91.507259001161444, 3.531160304389874, 92.135814892244412, 3.2330955897490736, u'proto_netblt', u'proto_sprite-rpc'), (91.507259001161444, 3.4814441887694363, 92.128331035778132, 3.185811552681745, u'proto_iso-ip', u'service_dhcp'), (91.501451800232275, 3.2935166334278594, 92.181458150742984, 3.1225088080968004, u'proto_irtp', u'proto_pgm'), (91.48954703832753, 4.293634426149926, 92.119796517470462, 3.8443700008711175, u'proto_idpr-cmtp', u'proto_pvp'), (91.304878048780466, 4.8848366163163011, 91.841719209132719, 4.517159042454133, u'proto_sprite-rpc', u'service_snmp'), (91.299070847851326, 3.8727519839022686, 91.828288149034961, 3.7847876951838324, u'proto_ddx', u'service_dns'), (91.298780487804891, 4.1288535081270128, 91.883531494300485, 3.8352685272919231, u'proto_mfe-nsp', u'proto_micp'), (91.298780487804862, 4.2971356428530205, 91.986745668784934, 3.9006081902162806, u'dur', u'proto_mfe-nsp'), (91.298780487804862, 4.8779269400883551, 91.825805751493931, 4.507664025109797, u'proto_fc', u'proto_mux'), (91.292973286875721, 3.4037185807556658, 91.901983311891456, 3.3766189544606648, u'proto_dcn', u'proto_gre'), (91.292973286875721, 3.7068735585112376, 91.819678680447652, 3.5644836778266402, u'proto_gmtp', u'proto_sep'), (91.292973286875721, 3.8567730587710654, 91.856048017579155, 3.7805391607199832, u'proto_ttp', u'proto_vmtp'), (91.292973286875721, 3.5669788172408068, 91.878068532324136, 3.4582571790480432, u'proto_secure-vmtp', u'proto_xnet'), (91.292973286875707, 3.1973954842409826, 91.773212625157697, 3.2261622017957792, u'proto_ipcv', u'proto_tlsp'), (91.292682926829258, 2.8322370849850333, 91.885965197704252, 2.9054410826649475, u'stcpb', u'state_INT'), (91.292682926829258, 3.5441451939001443, 91.798749699912491, 3.3723098937693012, u'proto_netblt', u'service_ssh'), (91.287166085946581, 3.4094123267921743, 91.930960393903277, 3.2278866779405648, u'sttl', u'state_CLO'), (91.287166085946581, 4.2991620869288187, 91.927702235011211, 3.9660677771352013, u'dttl', u'proto_uti'), (91.287166085946552, 3.898415993374222, 91.915978995844355, 3.6310307535679236, u'proto_mobile', u'proto_xtp'), (91.286875725900117, 3.1868064213812297, 91.945257070337377, 2.9530319653437789, u'proto_bbn-rcc', u'proto_l2tp'), (91.286875725900117, 2.8390765699972467, 91.956071135389266, 2.6863379859335588, u'proto_cftp', u'proto_eigrp'), (91.286875725900117, 3.0512875594259117, 91.985143470642754, 2.8425467469132761, u'proto_ipv6-frag', u'proto_sun-nd'), (91.286875725900103, 4.2008610369988713, 91.840332420197782, 3.929731620216022, u'dur', u'proto_etherip'), (91.286875725900103, 3.2397334624869294, 91.892498861760814, 3.2527940915964191, u'proto_dcn', u'proto_egp'), (91.286875725900103, 2.8496645021943192, 91.85803380819992, 2.7700661823914294, u'proto_cpnx', u'proto_ipip'), (91.281068524970948, 2.62774776853739, 91.88004697586581, 2.7226092467158489, u'proto_igp', u'proto_visa'), (91.281068524970948, 3.2284101398673557, 91.953050914283267, 2.9234585401393596, u'proto_iso-ip', u'proto_pri-enc'), (91.281068524970948, 3.0667667558934495, 91.892771744509247, 3.1709674114025685, u'dinpkt', u'proto_igp'), (91.281068524970948, 3.2103611758291191, 91.879658941864321, 3.2367719270598991, u'trans_depth', u'proto_compaq-peer'), (91.275261324041807, 3.2337339321626213, 91.875938134381073, 3.1413380427849478, u'ct_src_dport_ltm', u'proto_egp'), (91.275261324041807, 3.9007828861631926, 91.697697798883837, 4.0965531472633137, u'ackdat', u'proto_gre'), (91.275261324041807, 3.6073558586849028, 91.714630023049509, 3.5901649055319504, u'proto_cphb', u'proto_encap'), (91.274970963995344, 3.0458296792471757, 91.772443468515448, 3.1418410202067149, u'proto_mtp', u'proto_pim'), (91.274970963995344, 3.4405392658334866, 91.860520845903409, 3.2166297714705863, u'sinpkt', u'proto_cftp'), (91.274970963995344, 2.4239880137420795, 91.931971329416314, 2.3375037292640624, u'proto_mtp', u'proto_vrrp'), (91.274970963995344, 3.0458296792471766, 91.788865086511137, 2.906985931186624, u'proto_bna', u'proto_sctp'), (91.269454123112652, 3.4347273482540936, 91.911857983286566, 3.3293103625968592, u'dttl', u'ct_srv_dst'), (91.269163763066203, 3.6063041442885311, 91.905825429006129, 3.2654905152266176, u'proto_ax.25', u'proto_rvd'), (91.269163763066203, 3.2412080434789479, 91.889339737259391, 3.1220165867008602, u'proto_crtp', u'proto_secure-vmtp'), (91.257259001161444, 2.7237858660239938, 91.900777211079969, 2.5398121731964629, u'proto_leaf-2', u'proto_vrrp'), (91.251451800232289, 3.1267700373883511, 91.779642529922484, 3.2082160477951058, u'proto_sat-expak', u'service_smtp'), (91.078687572589999, 4.5145869221564308, 91.818801767565745, 4.2460345709747269, u'proto_ip', u'state_FIN'), (91.067073170731689, 4.270619521495548, 91.582792027773664, 4.2564891433756396, u'proto_chaos', u'proto_ipv6-opts'), (91.060685249709621, 3.347664233293012, 91.679639569876443, 3.3390473389955337, u'proto_leaf-2', u'proto_sdrp'), (91.060685249709621, 3.662539762276356, 91.586277870731053, 3.5736050927213396, u'proto_idpr-cmtp', u'proto_mtp'), (91.054878048780481, 3.3350391541692108, 91.540706909082118, 3.5188442599679912, u'proto_encap', u'proto_narp'), (91.054878048780481, 3.8262331157401794, 91.653365637238764, 3.71521168258541, u'ct_srv_src', u'proto_swipe'), (91.054878048780481, 3.9862337934429783, 91.62683410694784, 3.6678519152369402, u'is_ftp_login', u'proto_st2'), (91.054878048780481, 3.8413894631909229, 91.691743745999361, 3.6166002224057032, u'proto_igp', u'proto_pup'), (91.054878048780481, 3.5008960292922513, 91.660174784565058, 3.4470493995672666, u'proto_arp', u'proto_ax.25'), (91.054878048780481, 3.0145213164864892, 91.71226366050422, 2.9151162358211105, u'proto_ipip', u'service_ftp-data'), (91.054878048780481, 2.7995247395855323, 91.655297530275675, 2.7912248265159438, u'proto_ddp', u'proto_prm'), (91.04907084785134, 3.7027345776796685, 91.59682485797947, 3.732888186329069, u'sjit', u'proto_ptp'), (91.04907084785134, 4.0047533074646191, 91.702591682705403, 3.6600603267291936, u'swin', u'proto_narp'), (91.04907084785134, 3.8455232483563058, 91.667658478427455, 3.6126862237013544, u'proto_idpr', u'proto_zero'), (91.04907084785134, 4.5291240258111714, 91.653531960840922, 4.2046374866810545, u'proto_ipip', u'state_RST'), (91.049070847851326, 3.710859113130502, 91.589326008697896, 3.8099805606581945, u'proto_scps', u'state_CLO'), (91.049070847851326, 3.710859113130502, 91.770119476548984, 3.3529079326555715, u'proto_rdp', u'state_ACC'), (91.049070847851326, 3.8678473797119537, 91.701842255391824, 3.6994177481324013, u'proto_ddx', u'proto_ib'), (91.048780487804876, 3.8696478060910073, 91.684260081023297, 3.5451443220219176, u'proto_smp', u'proto_sps'), (91.048780487804876, 2.9638498862027425, 91.587916052201763, 3.0594458061291467, u'ct_ftp_cmd', u'proto_srp'), (91.048780487804876, 3.5239456573586057, 91.533464739188219, 3.7177708134952567, u'proto_xtp', u'service_snmp'), (91.048780487804876, 3.6731114656827457, 91.616263282423532, 3.3770281829909883, u'proto_3pc', u'proto_narp'), (91.048780487804876, 3.7127356690106561, 91.694655081663313, 3.451252140609018, u'ct_state_ttl', u'proto_egp'), (91.048780487804876, 3.5318796897947897, 91.626161879788, 3.4009684811515761, u'ct_dst_ltm', u'proto_larp'), (91.048780487804876, 3.6888969884312992, 91.579237504790541, 3.5490617695505264, u'service_dns', u'service_ssh'), (91.048780487804876, 4.1242358729193924, 91.631435306988337, 3.7646418757047502, u'proto_pup', u'proto_visa'), (91.043263646922185, 3.7226556519830543, 91.691752015018423, 3.6293943360796512, u'dtcpb', u'proto_ip'), (91.042973286875721, 3.7013373559063223, 91.714328483915892, 3.4023818062026638, u'proto_merit-inp', u'proto_nsfnet-igp'), (91.042973286875721, 3.7013373559063223, 91.705967279902509, 3.3299729557369027, u'proto_il', u'proto_larp'), (91.042973286875721, 3.7164311532119569, 91.795407908690876, 3.3995523133222174, u'sloss', u'stcpb'), (91.042973286875721, 3.3639428315824635, 91.796852447100804, 2.95412651620323, u'proto_3pc', u'proto_wb-mon'), (91.042973286875721, 3.7326029156719156, 91.673267156292425, 3.5423556098639155, u'ct_dst_ltm', u'proto_ipcomp'), (91.042973286875721, 3.190975481899303, 91.596716688776098, 3.179574211832298, u'proto_bna', u'proto_encap'), (91.042973286875721, 2.5816178706263586, 91.711173088865067, 2.5103320802096345, u'ct_dst_ltm', u'state_ACC'), (91.042973286875721, 3.2091334777490848, 91.659009149477384, 3.0869045661929819, u'proto_ax.25', u'proto_vines'), (91.042973286875721, 4.1488819048970331, 91.748857357792488, 3.7555215674176945, u'proto_ib', u'proto_micp'), (91.042973286875721, 2.792586198850437, 91.623081718900536, 2.7924370435353558, u'proto_etherip', u'state_INT'), (91.042973286875721, 3.3466249001385897, 91.597691365437086, 3.2480291270252919, u'dwin', u'service_dns'), (91.042973286875721, 3.9959319211383884, 91.632272223369924, 3.700801574149172, u'proto_ib', u'proto_smp'), (91.042682926829272, 4.3189806050655832, 91.677328009947345, 3.7537544153858753, u'proto_i-nlsp', u'state_FIN'), (91.037166085946581, 3.5981090323923124, 91.731530130318944, 3.3021361876117457, u'proto_mux', u'proto_pnni'), (91.037166085946581, 3.5735057649731936, 91.693524371026442, 3.4282356920676373, u'proto_gmtp', u'proto_tp++'), (91.037166085946581, 3.3769409678537774, 91.605810096691556, 3.3898981482043866, u'ct_srv_src', u'proto_ipv6-route'), (91.036875725900117, 3.0440587433979309, 91.792680515983619, 2.7593918352585862, u'sloss', u'proto_sm'), (91.031358885017411, 2.8548473234061875, 91.64897166325737, 2.9917081136122485, u'proto_uti', u'proto_vines'), (91.031068524970962, 3.4266425908768596, 91.679895451688367, 3.1310160406840515, u'proto_ipv6-route', u'state_CLO'), (91.031068524970962, 3.2391170780957079, 91.742565153840317, 2.8749800260976408, u'service_ssh', u'service_ssl'), (91.031068524970962, 2.8678050403516178, 91.793462039714484, 2.6547873400286091, u'proto_ifmp', u'proto_scps'), (91.031068524970962, 2.3925521414310178, 91.669296098034181, 2.7118534551306204, u'ct_dst_sport_ltm', u'proto_ggp'), (91.031068524970962, 2.3925521414310178, 91.585262874769398, 2.5917709879371595, u'proto_ipip', u'proto_ptp'), (91.031068524970962, 4.0483316480049236, 91.6853360340248, 3.7422797956455507, u'proto_nsfnet-igp', u'service_irc'), (91.025261324041807, 4.0164762159848539, 91.625221983239115, 3.6371015863071698, u'proto_arp', u'service_-'), (91.024970963995358, 2.8652207979203812, 91.639389195148297, 2.9103316845139773, u'ct_state_ttl', u'proto_ipcomp'), (91.024970963995358, 3.9340899731679548, 91.62252524726938, 3.5547899003938386, u'proto_crtp', u'service_ftp-data'), (91.019163763066189, 2.8609330237704973, 91.587678942896261, 2.9257380017741426, u'proto_gmtp', u'proto_l2tp'), (91.018873403019725, 3.2794561037562668, 91.735174616418291, 2.8017537561220167, u'proto_dgp', u'proto_iso-tp4'), (91.013356562137048, 3.971433010808211, 91.654415997439258, 3.7065611745564935, u'proto_eigrp', u'proto_leaf-1'), (91.013356562137048, 4.2670595609842863, 91.718478291734101, 3.9051877622895845, u'dmean', u'proto_secure-vmtp'), (90.822880371660858, 3.2936005313146812, 91.44031805350879, 3.2505677521217935, u'response_body_len', u'proto_argus'), (90.816782810685254, 3.6268450331715023, 91.62265888643924, 3.3324111222420383, u'sbytes', u'proto_ipnip'), (90.816782810685254, 3.9275729717443322, 91.411819743518961, 3.8074276425971374, u'spkts', u'dload'), (90.816782810685254, 3.7804817947325229, 91.451446783145997, 3.5438745374826999, u'proto_pup', u'proto_vines'), (90.816782810685254, 3.6274310127460034, 91.384202915902137, 3.5287222140286381, u'proto_a/n', u'service_radius'), (90.816782810685254, 3.7804817947325229, 91.390656509589761, 3.645522326810513, u'proto_ipx-n-ip', u'service_pop3'), (90.810975609756085, 3.3478500890972387, 91.434727899768149, 3.2490114628536624, u'proto_dgp', u'service_radius'), (90.810975609756085, 3.4798650495796641, 91.450742252916172, 3.4603062587491662, u'is_ftp_login', u'service_radius'), (90.810975609756085, 4.8422442363032143, 91.405694305694297, 4.4974297034498871, u'is_sm_ips_ports', u'service_pop3'), (90.810685249709636, 2.7121356143991919, 91.50688273717391, 2.8065134189717411, u'response_body_len', u'proto_sps'), (90.810685249709636, 4.0603209700997809, 91.40245543929754, 3.8165078969609993, u'dload', u'ct_src_ltm'), (90.805168408826944, 4.1116879410072871, 91.43960699691597, 3.9417128816390061, u'service_-', u'service_ssl'), (90.805168408826944, 4.7635202441592464, 91.473338303203661, 4.3322847628907493, u'proto_mfe-nsp', u'state_REQ'), (90.804878048780481, 3.2933587767360697, 91.313053664429859, 3.6390079656203578, u'ct_src_dport_ltm', u'proto_mobile'), (90.804878048780481, 3.8356779302011175, 91.399213255674354, 3.6232014982801894, u'proto_idrp', u'proto_st2'), (90.804878048780481, 3.8356779302011179, 91.345224672386678, 3.8544844420634363, u'proto_encap', u'proto_uti'), (90.804878048780481, 4.0776351684529155, 91.360686920346211, 3.899593872245493, u'proto_sctp', u'service_-'), (90.804878048780481, 3.6532467795516492, 91.367821014304269, 3.51959277046203, u'proto_cbt', u'proto_ipx-n-ip'), (90.79907084785134, 3.9767892165433438, 91.29271134054008, 3.8076818195075726, u'proto_ippc', u'proto_pipe'), (90.79907084785134, 3.3846935219029324, 91.56218725341013, 3.1338863293365158, u'proto_ib', u'proto_unas'), (90.79907084785134, 3.831587872507018, 91.566865548904815, 3.4725485948936083, u'sinpkt', u'state_CON'), (90.79907084785134, 3.8242756801222493, 91.477577794991277, 3.5525612643532121, u'proto_chaos', u'proto_ptp'), (90.79907084785134, 3.8231639727316287, 91.498553804489688, 3.7438162028517934, u'proto_igmp', u'proto_visa'), (90.79907084785134, 2.9630567123369711, 91.524243175370998, 2.9060069336456626, u'dloss', u'proto_pri-enc'), (90.79907084785134, 4.5110974125045962, 91.43244352546678, 4.1395032881331622, u'proto_pri-enc', u'proto_sps'), (90.79907084785134, 4.2523436089949893, 91.332968865400076, 4.139591368568615, u'proto_sep', u'proto_vmtp'), (90.799070847851326, 4.0059054877356122, 91.490523712316616, 3.8389525457953662, u'proto_compaq-peer', u'proto_l2tp'), (90.799070847851326, 3.323744691860417, 91.438764326734244, 3.2642839198563847, u'proto_udp', u'proto_wsn'), (90.799070847851326, 3.6806628175737997, 91.502325655720412, 3.5927039738698032, u'ct_state_ttl', u'proto_merit-inp'), (90.798780487804876, 3.5172853725346833, 91.449021425783286, 3.3338261479005435, u'dloss', u'state_FIN'), (90.798780487804876, 3.8260776374756911, 91.409166752469972, 3.433876390788873, u'ackdat', u'proto_kryptolan'), (90.798780487804876, 3.8260776374756911, 91.421292943085859, 3.5456576730529719, u'proto_ipv6-frag', u'service_dns'), (90.798780487804876, 3.6749262904062463, 91.352968285287517, 3.7256912629232439, u'proto_tp++', u'proto_visa'), (90.798780487804876, 3.1603021285588944, 91.449188919032011, 2.8782942810694245, u'proto_sps', u'state_ACC'), (90.798780487804876, 2.7465415873316501, 91.476547526166414, 2.6970581711331012, u'proto_ddx', u'proto_pgm'), (90.793263646922171, 3.5273640195906153, 91.530230803345077, 3.2774944840876397, u'response_body_len', u'ct_srv_src'), (90.793263646922171, 3.5437988202816904, 91.509882426435084, 3.4280467366045473, u'is_sm_ips_ports', u'proto_encap'), (90.792973286875721, 2.8044519295760209, 91.505120369654449, 2.8012420696023224, u'swin', u'proto_mfe-nsp'), (90.792973286875721, 3.3903519899539241, 91.452759838290703, 3.4510283765611973, u'sttl', u'djit'), (90.792973286875721, 2.8044519295760209, 91.596406609938029, 2.5701519630129646, u'proto_ipx-n-ip', u'proto_isis'), (90.792973286875721, 2.7627023584613308, 91.540963002195355, 2.5271212976498121, u'proto_any', u'proto_sdrp'), (90.792973286875721, 2.3162363060151421, 91.393732405244705, 2.4401471020106782, u'sttl', u'proto_ospf'), (90.792973286875721, 2.549262142929837, 91.456059989766999, 2.5807607111443063, u'proto_merit-inp', u'proto_sm'), (90.792682926829258, 3.1575087069083727, 91.594892772295324, 2.614488778703457, u'proto_iso-ip', u'proto_stp'), (90.787166085946566, 3.2058495990854663, 91.467893726907263, 3.1385448178226714, u'sloss', u'proto_chaos'), (90.787166085946566, 3.5497924580558124, 91.445666284962272, 3.2146036633752493, u'ct_flw_http_mthd', u'proto_igmp'), (90.787166085946566, 3.1782112099843101, 91.428214033141913, 3.051164786538251, u'proto_cftp', u'proto_rdp'), (90.787166085946566, 3.3767968231517274, 91.523576547794079, 3.2149598879907599, u'dinpkt', u'proto_mfe-nsp'), (90.786875725900131, 3.1347085576380662, 91.464166566770658, 2.9163295972901451, u'proto_pim', u'service_ssh'), (90.781068524970948, 3.6885039108542363, 91.473965927125832, 3.324927850541993, u'proto_ggp', u'proto_iatp'), (90.781068524970948, 3.0109239197472348, 91.411248321145152, 3.0876226741517097, u'dmean', u'service_radius'), (90.780778164924513, 3.3946217549889348, 91.440783159449012, 2.9010081243030386, u'proto_nsfnet-igp', u'service_dhcp'), (90.775261324041807, 3.3968040295592714, 91.321718607631112, 3.4982234494168081, u'proto_ggp', u'proto_kryptolan'), (90.774970963995344, 3.4158838608632101, 91.515662421296341, 3.0075369527486919, u'proto_gmtp', u'proto_st2'), (90.590301974448323, 4.01213877472789, 91.201166207595733, 3.9264923570718056, u'proto_l2tp', u'state_CLO'), (90.578687572590013, 3.8533388581798964, 91.219849195367274, 3.6295081148411921, u'proto_iatp', u'proto_ip'), (90.572590011614395, 3.2442513617182089, 91.208647744147015, 3.2546754329842451, u'proto_argus', u'proto_sprite-rpc'), (90.567073170731703, 3.6268310856576829, 91.263882766802865, 3.6023818653621822, u'sload', u'proto_gre'), (90.56678281068524, 3.9216255759026901, 91.202606331218036, 3.6322449395659069, u'proto_tp++', u'service_pop3'), (90.56678281068524, 3.7433853669702062, 91.229378651139967, 3.585847557992937, u'ct_dst_src_ltm', u'proto_arp'), (90.56678281068524, 2.8684118625742059, 91.247578621511209, 2.7739605640666456, u'proto_sdrp', u'proto_tcf'), (90.56678281068524, 3.5725248782404107, 91.198654433570994, 3.2905424965755055, u'proto_emcon', u'proto_igp'), (90.566492450638805, 3.7509749794059521, 91.322434491595828, 3.5125845046176947, u'response_body_len', u'proto_a/n'), (90.560975609756099, 4.3564675038822225, 91.278584774061883, 4.0595751403976887, u'proto_3pc', u'proto_sep'), (90.560975609756099, 3.6405897495942385, 91.333369455294232, 3.297131648175867, u'proto_ipv6-no', u'service_ftp-data'), (90.560975609756085, 3.6162755105445337, 91.289396234593397, 3.4326478259647333, u'proto_fire', u'service_radius'), (90.560975609756085, 3.4559603180724716, 91.323121852987214, 3.2782701759915969, u'proto_etherip', u'proto_iso-ip'), (90.560975609756085, 3.4559603180724716, 91.253823607373178, 3.3616299914608634, u'sbytes', u'service_-'), (90.560975609756085, 3.917272298974027, 91.230086233635802, 3.7516993794033331, u'proto_crtp', u'proto_merit-inp'), (90.560685249709636, 4.1778043282431083, 91.204125369737127, 3.8139629341430692, u'proto_cftp', u'proto_etherip'), (90.560685249709636, 3.8969828468883119, 91.307793764478944, 3.4047929420596303, u'proto_tp++', u'proto_xnet'), (90.560685249709636, 4.0179369084553569, 91.251987207621141, 3.6079289640130972, u'ct_dst_sport_ltm', u'proto_fc'), (90.560685249709621, 3.4498301286659738, 91.198841551181573, 3.3043266180472584, u'proto_ib', u'proto_pvp'), (90.560685249709621, 3.2364923543807405, 91.317866838568236, 3.0174955103253258, u'sjit', u'proto_any'), (90.554878048780481, 4.1142878130512663, 91.191203223719697, 3.8429154509171655, u'dinpkt', u'proto_pim'), (90.554878048780481, 4.1142878130512655, 91.317125522849011, 3.515518342403988, u'proto_kryptolan', u'proto_vines'), (90.554878048780481, 3.6777715622921021, 91.397076742522259, 3.2179413621038897, u'proto_micp', u'state_CLO'), (90.554878048780481, 3.6300639400184367, 91.18880628281552, 3.4895483082571168, u'dtcpb', u'service_http'), (90.554878048780481, 3.6140214521630507, 91.324810099480302, 3.149080738134471, u'dttl', u'proto_pgm'), (90.554878048780481, 3.4536016285353708, 91.344318686494603, 2.9652459767487911, u'ackdat', u'proto_skip'), (90.554878048780481, 3.944223649731851, 91.232285867816728, 3.6783022640826868, u'proto_irtp', u'service_radius'), (90.549070847851326, 3.130810200125504, 91.225952925271713, 3.1039781724492279, u'sload', u'proto_secure-vmtp'), (90.549070847851326, 3.9108134183167311, 91.201225674909878, 3.654821056601941, u'proto_igp', u'proto_sctp'), (90.542973286875721, 3.1185409750327504, 91.208364861524771, 3.0433984605701867, u'ct_srv_src', u'service_-'), (90.542973286875721, 3.8373555755178881, 91.271042473859708, 3.4886059196345172, u'rate', u'proto_ib'), (90.542973286875721, 2.5147439767778619, 91.299305160662669, 2.4304279587508697, u'proto_leaf-2', u'service_radius'), (90.537166085946581, 2.5309581177936415, 91.217733728260043, 2.7559978816504076, u'dloss', u'proto_br-sat-mon'), (90.537166085946581, 2.9647151367539664, 91.184280886734754, 2.9865187959324855, u'proto_arp', u'state_CLO'), (90.537166085946581, 3.1130204603111391, 91.207864031393427, 3.2268510139671274, u'proto_pim', u'proto_wb-mon'), (90.531358885017426, 3.8356757761412066, 91.262790592723036, 3.5426840877076669, u'proto_iatp', u'proto_igp'), (90.531068524970976, 3.000895578729311, 91.303888172263385, 2.6480505687963571, u'is_sm_ips_ports', u'proto_qnx'), (90.531068524970948, 4.3058706049679856, 91.225742947893565, 3.7861319133763054, u'sinpkt', u'proto_uti'), (90.525261324041821, 2.7474788956441669, 91.202958132106318, 2.7691865352029206, u'proto_ddx', u'proto_larp'), (90.340592334494758, 4.3368874925402583, 90.886811890149517, 4.2146015470206333, u'proto_argus', u'proto_ddp'), (90.334785133565603, 3.6517575530273563, 90.980561418531337, 3.7118882625189586, u'proto_dcn', u'proto_rsvp'), (90.328687572589999, 3.8160223317730848, 91.064633822502898, 3.5592408643812723, u'proto_ipcv', u'proto_pgm'), (90.322880371660858, 3.8421105360199923, 91.005686961410447, 3.5837257976251187, u'proto_pipe', u'service_-'), (90.322880371660858, 3.3705270844154556, 90.994658307524645, 3.3761080953840983, u'proto_scps', u'service_ssl'), (90.322590011614395, 3.6700601222414546, 91.061027811307781, 3.2757454298676074, u'proto_argus', u'state_ACC'), (90.316782810685254, 3.5484153808205958, 90.974258883142269, 3.2081391637900443, u'proto_emcon', u'proto_i-nlsp'), (90.316782810685254, 4.4558472318290478, 91.091709839660979, 4.0588944303472392, u'proto_irtp', u'proto_ttp'), (90.316782810685254, 3.5320020615674519, 91.114449097450091, 3.2034159198271421, u'proto_vines', u'service_ssh'), (90.316782810685254, 3.3848877184881068, 91.063054974453436, 3.2457138907645096, u'is_sm_ips_ports', u'proto_ipv6-opts'), (90.316782810685254, 3.3497444238816261, 91.00739419699029, 3.259803869897187, u'sttl', u'service_ftp-data'), (90.310975609756099, 4.059638946729283, 91.122683579113101, 3.5957716822452115, u'proto_arp', u'proto_ptp'), (90.310975609756099, 3.180323132304927, 91.086417547649901, 2.9698948400265226, u'ct_ftp_cmd', u'service_radius'), (90.310975609756085, 3.3621753703688242, 91.00057145919213, 3.3802915438361487, u'proto_uti', u'service_radius'), (90.310975609756085, 3.575842491633213, 91.083415444107871, 3.3283638239595472, u'proto_idrp', u'proto_wsn'), (90.310975609756085, 4.0009141524044347, 90.979863160095732, 3.8565728909948604, u'proto_il', u'proto_rsvp'), (90.305168408826944, 4.2201641660999378, 91.053490652820116, 3.8533434011596333, u'proto_rdp', u'service_snmp'), (90.305168408826944, 2.8358793861320808, 91.001919605221332, 3.0948833958098581, u'proto_igp', u'service_smtp'), (90.304878048780481, 4.6261312217753803, 91.098316544154017, 4.024430394533951, u'proto_l2tp', u'proto_sat-mon'), (90.304878048780481, 2.6202943897193567, 91.118344660520592, 2.417918786355675, u'dload', u'proto_irtp'), (90.299070847851354, 2.8218013353971383, 90.985879338053238, 2.8840162691897913, u'proto_aris', u'service_pop3'), (90.29907084785134, 4.0164034927795615, 90.982855411625081, 3.7963303226075724, u'proto_isis', u'state_REQ'), (90.29907084785134, 3.0451263982317958, 91.04007027789838, 2.9552629062724116, u'is_sm_ips_ports', u'proto_srp'), (90.29907084785134, 4.0164034927795615, 91.151762661079431, 3.58715972413194, u'proto_emcon', u'proto_l2tp'), (90.298780487804891, 3.6939128667555896, 90.918656277781793, 3.4500447873368945, u'swin', u'proto_pup'), (90.292973286875736, 2.8388878907762609, 91.064619717779621, 2.5444586821301121, u'proto_pri-enc', u'proto_st2'), (90.090592334494772, 4.0174654629482287, 90.713273806297053, 3.805859325519962, u'proto_xnet', u'service_pop3'), (90.084785133565632, 4.5874167063824727, 90.750002150317613, 4.2510507125238375, u'proto_ddp', u'service_smtp'), (90.084785133565617, 3.898591109740507, 90.670923174472733, 4.0323428298959758, u'sbytes', u'proto_iso-ip'), (90.084494773519154, 4.0430397350719902, 90.614233010716276, 3.8903734984010998, u'proto_chaos', u'proto_igmp'), (90.072880371660844, 3.2915639159233372, 90.789096588638927, 3.0614949666075146, u'proto_eigrp', u'service_dns'), (90.072880371660844, 3.4257486126139298, 90.764883667057589, 3.3719372031288746, u'proto_ttp', u'proto_xns-idp'), (90.072590011614409, 4.5811958787993463, 90.783151386372523, 4.1615264278915145, u'dinpkt', u'proto_ipv6-route'), (90.072590011614409, 2.879544367162362, 90.814088250930354, 2.6838775754002349, u'proto_leaf-2', u'service_http'), (90.067073170731703, 3.4958513833720963, 90.825719483984173, 3.2760197442494721, u'ct_src_ltm', u'service_dns'), (90.067073170731703, 3.0991553272943846, 90.858608947624973, 3.119142660002201, u'ct_dst_src_ltm', u'proto_compaq-peer'), (90.066782810685254, 3.7546358694921462, 90.789357381416806, 3.4250507576981337, u'proto_micp', u'proto_ttp'), (90.06678281068524, 2.7008460570794628, 90.744713336889262, 2.7181498219222551, u'proto_etherip', u'proto_sat-mon'), (90.060975609756099, 3.5092548118662936, 90.85842903476437, 3.1081433545634729, u'proto_crudp', u'proto_tcp'), (90.060975609756099, 3.3438125674945023, 90.973069225491514, 2.9131520726680202, u'proto_bbn-rcc', u'proto_ddp'), (90.060975609756099, 3.0858080021272869, 90.738450247070929, 3.2004858847402886, u'ct_src_ltm', u'proto_pvp'), (90.060975609756099, 3.6271197766361882, 90.872835886273734, 3.2486373346514226, u'dur', u'proto_leaf-1'), (90.05516840882693, 4.6451685525589728, 90.807163025126414, 4.2267216289011911, u'proto_st2', u'proto_wsn'), (90.05516840882693, 3.7981877701694993, 90.766034792630549, 3.5560509260629281, u'proto_trunk-2', u'service_snmp'), (90.054878048780495, 3.6559580284072224, 90.858142606217058, 3.302457243309008, u'proto_ipx-n-ip', u'proto_merit-inp'), (90.054878048780466, 2.9716799479730289, 90.784001157232979, 2.9290245584829822, u'synack', u'proto_ttp'), (90.054878048780466, 3.1743709385631473, 90.890948632563834, 2.8981826122785916, u'dload', u'state_CLO'), (90.049070847851326, 3.833036902577363, 90.965735019385193, 3.3467956712128224, u'proto_arp', u'proto_il'), (89.846399535423927, 3.9415816330191955, 90.594216956083159, 3.5586039857426326, u'proto_hmp', u'proto_trunk-2'), (89.840882694541222, 4.8811601368306059, 90.601256484313325, 4.5052571777477715, u'proto_ipv6', u'service_ssh'), (89.840592334494772, 4.5274523645455647, 90.64835879380432, 4.0898135178079293, u'proto_cpnx', u'proto_sprite-rpc'), (89.834785133565617, 4.7853196972386112, 90.575985832415341, 4.3194205942454174, u'proto_pgm', u'proto_vmtp'), (89.834785133565603, 3.1283112875136654, 90.645710734726762, 3.0698826402371737, u'proto_ggp', u'proto_nvp'), (89.608594657375136, 4.1351527515144042, 90.361334467795572, 3.8611254551458898, u'proto_pgm', u'proto_pipe'), (89.602497096399532, 4.5118426122062036, 90.310137436867706, 4.2142339725991196, u'proto_igp', u'proto_ospf'), (89.602497096399532, 4.2531341456829894, 90.346617477468826, 3.9976087860958005, u'proto_narp', u'proto_pim'), (89.596689895470377, 3.9795079940529985, 90.37099579783991, 3.6693199991179211, u'proto_scps', u'proto_xnet'), (89.590592334494772, 3.8076495081114969, 90.208117510539793, 3.6551940322939513, u'proto_emcon', u'proto_iso-tp4'), (89.578977932636462, 3.3957217015262651, 90.273576210966567, 3.3564638167417007, u'proto_encap', u'proto_sm'), (89.578687572589999, 4.7312927928443642, 90.331983760987811, 4.2123374376367639, u'proto_hmp', u'proto_ipnip'), (89.340882694541222, 4.1989831606753487, 90.178053689286045, 3.7192394694788842, u'proto_ptp', u'state_ACC'), (89.334785133565617, 3.9080016874828374, 90.085771716206509, 3.6612232443293786, u'dur', u'proto_iso-ip'), (89.102787456445981, 3.7367102117287927, 89.957781274555842, 3.5695444679458834, u'proto_bna', u'proto_cbt'), (89.096689895470377, 3.0557804851056929, 90.02646181793169, 2.7106590195915525, u'dpkts', u'proto_ipv6-no'), (89.090882694541222, 4.2266299732654344, 89.812880068388026, 3.8539722400277796, u'proto_sat-mon', u'proto_visa')]\n",
      "total time:  2942.56299996\n"
     ]
    }
   ],
   "source": [
    "key1 = sorted(resultList,key=itemgetter(0), reverse=True)\n",
    "print key1\n",
    "print \"total time: \", total"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lets try to create a new feature based on t"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Based on the results above the most accurate combination of 2 most accurate feature pairs (93.453542392566789, 2.858812883597337, 93.927190716538973, 2.6957426725603568, u'dpkts', u'sloss'), (92.983449477351925, 3.1315794075438981, 93.36949637178698, 3.2087479960698628, u'service_ftp-data', u'service_snmp') based on a random sample of random combination of features.\n",
    "This discretization actually helps increase the accuracy on average,\n",
    "from: Average accuracy =  90.3222996516 +- 2.74171603247 (pre discretization: baseline)\n",
    "to: Average accuracy = 93.453542392566789 +- 2.858812883597337\n",
    "but not really helping in the lowering of the deviation from the mean. What if we combine the different clusterings?\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nuAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1111b080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "sns.set_palette(\"Set1\", 8, .75)\n",
    "\n",
    "%matplotlib inline\n",
    "X1 = dfcopy[['dpkts','sloss']].values\n",
    "\n",
    "plt.scatter(X1[:, 1], X1[:, 0]+np.random.random(X1[:, 1].shape)/2, \n",
    "             s=20)\n",
    "plt.xlabel('sloss'), plt.ylabel('dpkts')\n",
    "plt.grid()\n",
    "plt.title('dpkts Versus sloss')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average accuracy (with kmeans for class/fare)=  90.3397212544 +- 6.80026253897\n"
     ]
    }
   ],
   "source": [
    "from sklearn.cluster import KMeans\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "X1 = dfcopy[['smean','proto_il']]\n",
    "\n",
    "cls = KMeans(n_clusters=8, init='k-means++',random_state=1)\n",
    "cls.fit(X1)\n",
    "newfeature = cls.labels_ # the labels from kmeans clustering\n",
    "\n",
    "# y = dfcopy['Survived']  # already setup a few cells ago.\n",
    "# X = df_imputed[['Age','Sex','Parch','SibSp']]  # alerady setup a few cells ago.\n",
    "X2 = np.column_stack((X,pd.get_dummies(newfeature)))  # Preserve X incase we want to use it again.\n",
    "\n",
    "acc = cross_val_score(clf,X2,y=y,cv=cv)\n",
    "\n",
    "print \"Average accuracy (with kmeans for class/fare)= \", acc.mean()*100, \"+-\", acc.std()*100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "412\n"
     ]
    }
   ],
   "source": [
    "print len(newfeature)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Wow, I actually got a slight increase in accuracy (89 -> 90), but the error range almost doubled from 3.4 -> 6.8.  Also not sure about what value of n_clusters to use. Going to try again, with just n_clusters = 2.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average accuracy (with kmeans for class/fare)=  90.7981997677 +- 5.71895176747\n"
     ]
    }
   ],
   "source": [
    "X1 = dfcopy[['smean','proto_il']]\n",
    "\n",
    "# n_clusters : The number of clusters to form as well as the number of centroids to generate.\n",
    "# random_state : integer or numpy.RandomState, optional\n",
    "cls = KMeans(n_clusters=2, init='k-means++',random_state=1)\n",
    "cls.fit(X1)\n",
    "newfeature = cls.labels_ # the labels from kmeans clustering\n",
    "\n",
    "# y = dfcopy['Survived']  # already setup a few cells ago.\n",
    "# X = df_imputed[['Age','Sex','Parch','SibSp']]  # alerady setup a few cells ago.\n",
    "X2 = np.column_stack((X,pd.get_dummies(newfeature)))  # Preserve X incase we want to use it again.\n",
    "\n",
    "acc = cross_val_score(clf,X2,y=y,cv=cv)\n",
    "\n",
    "print \"Average accuracy (with kmeans for class/fare)= \", acc.mean()*100, \"+-\", acc.std()*100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1\n",
      " 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0\n",
      " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
      " 0 0 0 0 1]\n"
     ]
    }
   ],
   "source": [
    "print newfeature"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The average accuracy, again went up slighly, and error range decrease slighly as well. Interesting, but almost not significantly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.7.12 |Anaconda 2.3.0 (64-bit)| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)]\n"
     ]
    }
   ],
   "source": [
    "type(newfeature)\n",
    "import sys\n",
    "print sys.version"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Modeling and Evaluation"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Train and Adjust Parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "    Models:\n",
    "        K-Means - PETER\n",
    "        MiniBatch - RANDY\n",
    "        DBSCAN - RAVI\n",
    "        GMM - DANIEL\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-means\n",
    "Reference:\n",
    "(a) Introduction to Data Mining (Authors: Pang-Ning Tan, Michael Steinbach, Vipin Kumar)\n",
    "\n",
    "Per ref (a) K-means clustering technique is a prototype-based, partitional clustering technique that attempts to find a users-specified number of clusters (K), which are represented by their centroids.\n",
    "    In our particular dataset, we will be specifing K = 2 to see how well the clustering algorithm can discover the desired labels of malcious vs normal packets.  We will then run the algorith with K = 10 which would be the number of attack categories that were identified manually by hand from the dataset. Although, in a non simulated real world environment, this number may not really be known and hence this particular cluster algorithm may not be very practical to try and differentiate packets into category types as generally you would not know apriori the total number of attack categories over a batch of packets.  That said, making the assumption that there are normal vs abnormal packets may be a reasonable thing to suppose. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('length of data = ', 20582)\n",
      "2\n",
      "Estimated number of clusters: 2\n",
      "Homogeneity: 0.065\n",
      "V-measure: 0.066\n",
      "Adjusted Rand Index: 0.096\n",
      "Adjusted Mutual Information: 0.065\n",
      "Silhouette Coefficient: 0.653\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEKCAYAAAAGvn7fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFRhJREFUeJzt3XmUXGWdh/GnkxAGmQZUOi6j4oLzkyMqEpDlRBIFRxFR\nlhmXEXHBgwgqDBMQ4qDICDJhURYHFZDoqEdBic7gaFwIi46igCgg/gBxmxGkkS2yhZCeP+5tLIru\nqupKd1fXy/M5J4dbdW/V/dbS37r13luXgZGRESRJ5ZjV6wCSpMllsUtSYSx2SSqMxS5JhbHYJakw\nFrskFWZOrwNo4iJiLXA1sBYYAQbq/+6Rmb9rcbsVwJsy8/aIuABYnJm/nIQ82wD7Zea7J3i704Dh\nzDxmXTNMYJ2bAddk5uA0re9FwFeBO4G9Wr0+DbdZC2yambd3sb6uXotuRMSmwKeAzYHZwDcy8/1T\nvV61Z7H3pxFgUWbeMcHbvWJ0IjNfM4l5tgT+ZhLvb6pN5483XgtcmJn7T+A265JvOl+LjwHXZube\nETEX+E5EvC0zl03T+jUOi70/DdT/HiUiNgTOodqKWgtcARwAnF0vsjIidgMuBfYGBoGPAn8Ang/c\nC3wIeB/wt8D5mXloRAxQ/SFvV99mAHgn8Hvgw8BGEXF2Zu4XEbsDHwDWq+/vsMz8UUQMAmcBLwRu\nBh4Chsd4DB8Cngk8BdisXub1mXlLRPwa2Dszr6yX/XX9OP4EXFj/24HqvX0Y8C7gecDlmfnGehWz\nI+JMYD6wGjg4My+r728JsBfVMOVvgAPr9a4EbgcCOCMzP9GU+SjgjcCDwPXAe4GdgQOBWRGxQWa+\npek22wGnAI+rcyzOzIvq55aIeCvw95m5e/PliFgAnFTnHKlfw5908FoszszL6ud4h/o5/hlwLNV7\nZP16/Wdn5hkR8RTgG8CrM/OWppfqfOAHAJm5OiKuqV8v9Zhj7P1rZURcWf/7aUR8tb5+T+CvM3Nr\n4CX1dc/KzHfU04sy83+b7msb4JjM3AL4I3AEsCtV8R0UEU+mKvSnZOYOmbkl8DngiPq+PghcWhfJ\n5lQlsWtmzqcq1vMjYgPgGODeej2vpyrJ8SygKvAtgDvq+2nnWcDX6nwXAh8H3kD1gfXSiNi+Xm4D\nYEX9HH0QODci5kTEvsALgJfU877JXz4QAW7PzC3HKPW3A68E5mfmVsC1wLLM/CLwSeDLY5T6HGA5\ncHRmvhDYHzil/gBt1Lz1Pnr5aOCkzNwW2A94eYevxfL6tQB4BrBVZu5L9SH4n/X97Qa8FCAzb87M\nrccodTJzeWbeWj+eFwNvqh+Teswt9v413lDM94Fj6y3M7wCnZOZNDfPH2tL/dWb+vJ7+FXBnZj4E\n/Cki7gaeUG9xHxURBwDPARYBd49xX68Angx8r6Gk1gDPpdqCPRggM2+LiFYlcFFm3lNP/xR4Qotl\nR63OzG80PI7/Gb2PiPhDfR83A3dk5lfqHN+OCKi26ncDtgWuqK+bRfUhMOrScdb7KuCczLy/vnwK\nsKQu7/G8AFiTmd+qc1wJvKjO2slQzLnAJyLitcB3gSVjLDPea7F5Pf2jzBxd13Lgs/W3iO9SfWPr\nSES8EvgP4D0N7yP1kFvs/WvMoZjM/A3VH+5xVEMm342IvRoWGas0Hmi6/GDzAvXwzTfq23+Nakt0\nrAyzge/VW3kvzswXAzsC1/CXHb2j1oz1GGr3NWUeGGMaYG7D9Op2j6P2UNPlWfWys4F/a8i9DdU3\nh1F/Huf+mv+OZlNtNI35GtXW0PRaRMTzI2J2w1XjPtbM/DTVh8O3qb4tXF0PdTXnGOu1uLb58dQf\niM8FvgxsBVwTEc9qkX8086HAZ4E31N9QNANY7IWpt6iXZeZ3MvNIYAXVDjWoCm3uuDdubReqr+qf\nohq334OqOKAqqfXq6QuBv4t6kzciXk01hrs+8C1gv4gYiIjHA6/rIscwVeFSD608pWFeqyJttGmd\ni3oM+j7gBqrn6p0NBfkRqi3RdlYAb4+Ix9WX3wdcnJnjfbAAJDASETvXObYGvkf1Nzn6OIaBLSNi\nbr31v/vojSPiB8DWmfk5qiGWjYHH0/lr8QgR8QXgjZl5LnAQcBfw9FYPui71A4HtM3Nlq2U1vRyK\n6U8jVGPso1ueo4c7LqHaeloUEb8A7gF+SzU0ANXOru9HxB50fuTF6HKfBL4YEVdRfUBcQrXTEuCH\nwEci4qv1ERL7A1+q+2QNsHtm3hcRR9f3cx1wK9DN1/b3A2dExLuoPmAuHyNrq8cB1X6EvSPiWKrn\naO/MXBsRZwFPBX5UH3L4O+CtHdz32cDTgB/XQx43Avu0ehD1zsa9qMbVT6T61rRnZj7YMBTzbeBi\nqg+BPwArqXY8Axxe3/ZfqXaSH52Zv4uITl+L5kjHAGfXyz9EtdP8kvF2nkbEevVt7qDahzL6Hjwv\nMz/a6rFr6g142l5JKkvbLfaImAWcSXUEw1qqQ+fmAhdQHdYF1eFf501VSElS5zoZitkdGMnMBRGx\nkGqn3H9RHWr1sSlNJ0masI6GYiJiVj0G+Vaqw9zuo9qCn0O10+nghkPTJEk91NFRMXWpL6PaCfcF\n4DKqX7AtBG6i+rGEJGkG6PiomMx8W0TMA34M7JCZN9ezlgOntrrtyMjIyMBAp0eiSZJqXRVnJztP\n9wGelpnHA/dT7UA9PyLel5k/ofo14RUtkw0MMDy8qpt8M8LQ0KD5e8j8vdXP+fs5O1T5u9HJFvv5\nwDkRcXG9/MFUJ346PSJWA7dQnedCkjQDtC32zLyX6kRKzRaMcZ0kzWhLlx738PThh491ip3+5y9P\nJT2mnHji8Q9Pl1rsnitGkgpjsUtSYSx2SSqMxS5JhbHYJRVp6dLjGBgYYN68jR7xr1HzvHnzNnrE\nUTP9ymKXpMJY7JJUGI9jl1Skww9fwgknfPRRpxRoHI659dax/n/s/c8tdkkqjMUuSYWx2CWpMBa7\nJBXGnaeSHlMWLz6i1xGmnMUu6TGl1DM6NnIoRpIKY7FLUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpek\nwljsklQYi12SCmOxS1JhLHZJKozFLkmFsdglqTAWuyQVpu1peyNiFnAmEMBa4ADgAWBZffmazDxo\nCjNKkiagky323YGRzFwAHAUcB5wMLMnMhcCsiHjdFGaUJE1A22LPzK8D+9cXNwPuALbOzEvr674J\n7DI18SRJE9XRGHtmro2IZcCpwBeBgYbZq4CNJz+aJKkbHf+v8TLzbRExD/gJsEHDrEHgzna3Hxoa\nnHi6GcT8vWX+3urn/P2cvVud7DzdB3haZh4P3A88BFweEQsz82JgV+DCdvczPLxqXbP2zNDQoPl7\nyPy91c/5+zk7dP+h1MkW+/nAORFxcb38+4BfAmdFxHrAdcBXulq7JGnStS32zLwXeMMYsxZNehpJ\n0jrzB0qSVBiLXZIKY7FLUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpekwljsklQYi12SCmOxS1JhLHZJ\nKozFLkmFsdglqTAWuyQVxmKXpMJY7JJUGItdkgpjsUtSYSx2SSqMxS5JhbHYJakwFrskFcZil6TC\nWOySVBiLXZIKY7FLUmEsdkkqjMUuSYWZ02pmRMwBPgM8E5gLHAv8HrgAuL5e7IzMPG8KM0qSJqBl\nsQP7ALdl5r4R8XjgKuDDwEmZ+bEpTydJmrB2xX4uMLo1Pgt4EJgPPC8i9gBuAA7OzHumLqIkaSJa\njrFn5r2ZeU9EDFIV/L8APwYWZ+ZC4Cbg6ClPKUnq2MDIyEjLBSLi6cD5wOmZ+dmI2Dgz76rnbQGc\nmpmvaLOe1iuRJI1loJsbtdt5+iRgBXBQZq6sr14REe/JzMuBnYErOlnR8PCqbvLNCENDg+bvIfP3\nVj/n7+fsUOXvRrsx9iOBTYCjIuKDVFve/wR8PCJWA7cA+3e1ZknSlGhZ7Jl5CHDIGLMWTE0cSdK6\n8gdKklQYi12SCmOxS1JhLHZJKozFLkmFsdglqTAWuyQVxmKXpMJY7JJUGItdkgpjsUtSYSx2SSqM\nxS5JhbHYJakwFrskFcZil6TCWOySVBiLXZIKY7FLUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpekwljs\nklQYi12SCmOxS1JhLHZJKozFLkmFmdNqZkTMAT4DPBOYCxwL/AJYBqwFrsnMg6Y2oiRpItptse8D\n3JaZOwGvAk4HTgaWZOZCYFZEvG6KM0qSJqBdsZ8LHFVPzwbWAFtn5qX1dd8EdpmibJKkLrQcisnM\newEiYhA4D/gAcGLDIquAjacsnSRpwloWO0BEPB04Hzg9M78UEUsbZg8Cd3ayoqGhwe4SzhDm7y3z\n91Y/5+/n7N1qt/P0ScAK4KDMXFlf/dOI2CkzLwF2BS7sZEXDw6vWKWgvDQ0Nmr+HzN9b/Zy/n7ND\n9x9K7bbYjwQ2AY6KiA8CI8DBwGkRsR5wHfCVrtYsSZoS7cbYDwEOGWPWoilJI0laZ/5ASZIKY7FL\nUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpekwljsklQYi12SCmOxS1JhLHZJKozFLkmFsdglqTAWuyQV\nxmKXpMJY7JJUGItdkgpjsUtSYSx2SSqMxS5JhbHYJakwFrskFcZil6TCWOySVBiLXZIKY7FLUmEs\ndkkqjMUuSYWx2CWpMHM6WSgitgOOz8yXRcRWwAXA9fXsMzLzvKkKKEmamLbFHhGHAW8B/lxfNR84\nKTM/NpXBJEnd6WQo5kZgz4bL84HdIuLiiDgrIjacmmiSpG60LfbMXA6sabjqMuCwzFwI3AQcPTXR\nJEnd6GiMvcnXMvOueno5cGonNxoaGuxiVTOH+XvL/L3Vz/n7OXu3uin2FRHxnsy8HNgZuKKTGw0P\nr+piVTPD0NCg+XvI/L3Vz/n7OTt0/6HUTbG/GzgtIlYDtwD7d7VmSdKU6KjYM/O3wI719E+BBVMZ\nSpLUPX+gJEmFsdglqTAWuyQVxmKXpMJY7JJUGItdkgpjsUtSYSx2SSqMxS5JhbHYJakwFrskFcZi\nl6TCWOySVBiLXZIKY7FLUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpekwljsklQYi12SCmOxS1JhLHZJ\nKozFLkmFsdglqTAWuyQVxmKXpMJY7JJUGItdkgozp5OFImI74PjMfFlEPAdYBqwFrsnMg6YwnyRp\ngtpusUfEYcCZwPr1VScDSzJzITArIl43hfkkSRPUyVDMjcCeDZfnZ+al9fQ3gV0mPZUkqWttiz0z\nlwNrGq4aaJheBWw82aEkSd3raIy9ydqG6UHgzk5uNDQ02MWqZg7z95b5e6uf8/dz9m51U+xXRsRO\nmXkJsCtwYSc3Gh5e1cWqZoahoUHz95D5e6uf8/dzduj+Q6mbYl8MnBkR6wHXAV/pas2SpCnRUbFn\n5m+BHevpG4BFU5hJkrQO/IGSJBXGYpekwnQzxl60pUuPe3j68MOX9DCJJHXHYm9y4onHPzxtsUvq\nRw7FSFJhLHZJKozFLkmFsdglqTCP2WJfuvQ45s3b6FH/Go1eNzAw8PB041EzkjQTPWaLXZJKZbFL\nUmEGRkZGpmM9I/1yhrXG4Zhbb70bKOMMcebvHfP3Tj9nBxgaGhxov9SjucUuSYWx2CWpMBa7JBXG\nYpekwngSsCaLFx/R6wiStE4s9iae0VFSv3MoRpIKY7FLUmEsdkkqjMUuSYWx2CWpMBa7JBXGYpek\nwljsklQYi12SCmOxS1JhLHZJKkzX54qJiCuAu+qLv87M/SYnkiRpXXRV7BGxPkBmvnxy40iS1lW3\nW+wvAjaMiBXAbOADmXnZ5MWSJHWr2zH2e4ETMvOVwLuBL0SE4/WSNAMMjIyMTPhGETEXmJWZ99eX\nLwP2ysz/m+R8kqQJ6nYr+x3ASQAR8VRgELh5skJJkrrX7Rb7esA5wGbAWuD9mfmjSc4mSepCV8Uu\nSZq53OEpSYWx2CWpMBa7JBWm61MKjCUiBoB/p/oB0/3AOzPzpnrek4AvASPAALAV1U7XT09mhnXR\nKn89/83AocAa4JzM/GRPgo6hg+xvARYDdwKfzczP9CRoGxGxHXB8Zr6s6frdgaOAB6me+7N6ka+d\n8fLX8x4HfBt4R2ZeP+3hOtDi+X8TcDDV8391Zh7Yi3zttMi/N/B+qoM9vpiZp/YiXyut3jv1/E8B\nf8rMJe3ua7K32PcA1s/MHYEjgZNHZ2TmHzPzZfVpCI4ErgDOnOT1r6tx89dOAF4OLAD+OSI2nuZ8\nrYybPSKeCBwD7AQsAt4cEc/oRchWIuIwqvfE+k3Xz6F6PLtQ5d8/IoamPWAb4+Wv580HLgaePd25\nOtXi+f8rqvfPwsx8KbBJRLymBxFbapF/FnAc1d/ujsCBEfGE6U84vlbvnXr+u4AtO72/yS72BcC3\nAOpTDGwzznKnAQdk5kw7JKdd/p8Bjwc2qC/PpPytsj8buCoz76qf858A209/xLZuBPYc4/otgBsy\n8+7MfBD4PtWH1EwzXn6AuVQfvr+cvjgTNl7+B4AdM/OB+vIcqm+FM82Y+TNzLbBFZv4Z2JSq91ZP\nc7Z2xn3vRMQOwLbApzq9s8ku9o34yxkfAdY0n2qg/kp9TWbeOMnrngzt8l9L9U3jauCCzLx7OsO1\n0Sr7DcDzI2KoHg7YGdhwugO2k5nLqYa5mjU/tlXATPq2BLTMT2b+sP5l9sD0purcePkzcyQzhwEi\n4r3Ahpn53enO106b539tROwJXAVcBNwzjdHaGi97RDwZ+BDwHibw3pnsYr+b6leoD99//WnZaB9g\nxoyrNxk3f0S8ANiN6kdZzwSeVI/bzRTjZs/MO6n2DXwV+ALVh9Nt056we3dTlfuoQap9BZomETEQ\nESdQbRTs1es83cjM5Zn5VKrhjn17nadD/wA8Efhv4AjgHyOibfbJLvYfAK8GiIjtqbZsm22TmT+c\n5PVOllb576I6+dkD9XDGrVTDMjPFuNkjYjawdWbuBLwBeF69/EzVvGVyHbB5RGxSn6doJ2Cmvodg\nBm+Vd2is/J+m2oezR8OQzEz1iPwRMRgRF9XvHai21ps3OGeKR2TPzNMyc9t63+TxVDt+P9fuTib1\nqBhgOfCKiBgtjbfXe9M3zMyzImJTHvmVeqZpl//TwPcj4gHgV8CyHuUcS7vsRMSVwH3ASZl5e8+S\ntjcCDx+JMZr/UKojSgaAszJzJp+b6FH5m+fNcI/IT/UN7+3ApRGxsp5/SmZ+vXcRWxrr/fN54JKI\nWA38HPh8LwO20Oq90zFPKSBJhfEHSpJUGItdkgpjsUtSYSx2SSqMxS5JhbHYJakwFrskFcZil6TC\n/D/JfcgIP6pcqgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xcd19c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xce22f98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn import metrics\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.cluster import AgglomerativeClustering\n",
    "from sklearn.cluster import KMeans\n",
    "from sklearn.cluster import DBSCAN\n",
    "import numpy as np\n",
    "\n",
    "n_clusters = 2\n",
    "data = X\n",
    "model = KMeans(init='k-means++', n_clusters=n_clusters, n_init=1).fit(data)\n",
    "# model = AgglomerativeClustering(linkage='ward', n_clusters=n_clusters).fit(data)\n",
    "#model = DBSCAN(eps=0.15, min_samples=10).fit(data)\n",
    "s_size = len(data)/2\n",
    "print(\"length of data = \", s_size)\n",
    "labels_pred = model.labels_\n",
    "labels_true = y\n",
    "n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)\n",
    "print( len(set(labels)))\n",
    "print('Estimated number of clusters: %d' % n_clusters_)\n",
    "print(\"Homogeneity: %0.3f\" % metrics.homogeneity_score(labels_true, labels_pred))\n",
    "print(\"V-measure: %0.3f\" % metrics.v_measure_score(labels_true, labels_pred))\n",
    "print(\"Adjusted Rand Index: %0.3f\"\n",
    "      % metrics.adjusted_rand_score(labels_true, labels_pred))\n",
    "print(\"Adjusted Mutual Information: %0.3f\"\n",
    "      % metrics.adjusted_mutual_info_score(labels_true, labels_pred))\n",
    "print(\"Silhouette Coefficient: %0.3f\"\n",
    "      % metrics.silhouette_score(data, labels_pred, sample_size=s_size))\n",
    "\n",
    "# Got memory error with silhouette/ reduced sample size in half\n",
    "silhouette_per_sample = metrics.silhouette_samples(data,labels_pred)\n",
    "\n",
    "# get the middle of each cluster\n",
    "centroids = []\n",
    "for lab in range(0,n_clusters_):\n",
    "\n",
    "    centroids.append( [np.mean(data[np.where(labels_pred==lab),0]), np.mean(data[np.where(labels_pred==lab),1])] )\n",
    "centroids = np.array(centroids)\n",
    "\n",
    "plt.figure()\n",
    "#plt.scatter(data[:, 0], data[:, 1], c=labels,           \n",
    "#                    cmap=plt.cm.spectral, s=5, linewidths=0)\n",
    "\n",
    "if len(centroids)>0:\n",
    "    plt.scatter(centroids[:, 0], centroids[:, 1],\n",
    "                marker='+', s=200, linewidths=3, color='k', zorder=10)  # plot the centroids\n",
    "plt.title('Estimated number of clusters: %d' % n_clusters_)\n",
    "\n",
    "plt.figure()\n",
    "plt.scatter(data[:, 0], data[:, 1], c=silhouette_per_sample,\n",
    "                cmap=plt.cm.gray, s=5, linewidths=0)\n",
    "plt.title('Clusters with silhouette coefficient coloring')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "explained variance ratio (first 3 components): [ 80.59365547  18.59309631   0.81310102]\n",
      "0.999998528038\n"
     ]
    }
   ],
   "source": [
    "#curious if we run do feature reduction with PCA and run cluster algorith on reduced features if \n",
    "# the metrics like homogeneity improve\n",
    "pca = PCA(n_components=3)\n",
    "x_pca = pca.fit(X)\n",
    "\n",
    "# Percentage of variance explained for each components\n",
    "print('explained variance ratio (first 3 components): %s' % (100 * pca.explained_variance_ratio_) )\n",
    "print(sum(pca.explained_variance_ratio_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n_digits(num categories): 2, \t n_samples 42, \t n_features 42\n",
      "_______________________________________________________________________________\n",
      "init    time  inertia    homo   compl  v-meas     ARI AMI  silhouette\n",
      "k-means++   0.43s    52908653520319819022336   1.000   1.000   1.000   1.000   1.000    0.602\n",
      "   random   0.33s    52908655521244209217536   1.000   1.000   1.000   1.000   1.000    0.590\n",
      "PCA-based   0.38s    52908653520319819022336   1.000   1.000   1.000   1.000   1.000    0.639\n",
      "_______________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from time import time\n",
    "\n",
    "# ref: http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_digits.html#sphx-glr-auto-examples-cluster-plot-kmeans-digits-py\n",
    "s_size = 42\n",
    "sample_size = s_size\n",
    "n_samples = s_size\n",
    "n_digits = n_clusters  \n",
    "n_features = len(dfcopy.columns)\n",
    "\n",
    "\n",
    "print(\"n_digits(num categories): %d, \\t n_samples %d, \\t n_features %d\"\n",
    "      % (n_digits, n_samples, n_features))\n",
    "\n",
    "\n",
    "print(79 * '_')\n",
    "print('% 9s' % 'init'\n",
    "      '    time  inertia    homo   compl  v-meas     ARI AMI  silhouette')\n",
    "\n",
    "\n",
    "def bench_k_means(estimator, name, data):\n",
    "    t0 = time()\n",
    "    estimator.fit(data)\n",
    "    print('% 9s   %.2fs    %i   %.3f   %.3f   %.3f   %.3f   %.3f    %.3f'\n",
    "          % (name, (time() - t0), estimator.inertia_,\n",
    "             metrics.homogeneity_score(labels, estimator.labels_),\n",
    "             metrics.completeness_score(labels, estimator.labels_),\n",
    "             metrics.v_measure_score(labels, estimator.labels_),\n",
    "             metrics.adjusted_rand_score(labels, estimator.labels_),\n",
    "             metrics.adjusted_mutual_info_score(labels,  estimator.labels_),\n",
    "             metrics.silhouette_score(data, estimator.labels_,\n",
    "                                      metric='euclidean',\n",
    "                                      sample_size=sample_size)))\n",
    "\n",
    "   \n",
    "bench_k_means(KMeans(init='k-means++', n_clusters=n_digits, n_init=1),\n",
    "              name=\"k-means++\", data=data)\n",
    "\n",
    "bench_k_means(KMeans(init='random', n_clusters=n_digits, n_init=1),\n",
    "              name=\"random\", data=data)\n",
    "\n",
    "# in this case the seeding of the centers is deterministic, hence we run the\n",
    "# kmeans algorithm only once with n_init=1\n",
    "pca = PCA(n_components=n_digits).fit(data)\n",
    "bench_k_means(KMeans(init=pca.components_, n_clusters=n_digits, n_init=1),\n",
    "              name=\"PCA-based\",\n",
    "              data=data)\n",
    "print(79 * '_')\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "ename": "MemoryError",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mMemoryError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-81-9a94a6ef2ef1>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      9\u001b[0m \u001b[0mx_min\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx_max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mreduced_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreduced_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     10\u001b[0m \u001b[0my_min\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mreduced_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmin\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreduced_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m \u001b[0mxx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0myy\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmeshgrid\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx_min\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx_max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mh\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_min\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_max\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mh\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     13\u001b[0m \u001b[1;31m# Obtain labels for each point in mesh. Use last trained model.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mMemoryError\u001b[0m: "
     ]
    }
   ],
   "source": [
    "reduced_data = PCA(n_components=2).fit_transform(data)\n",
    "kmeans = KMeans(init='k-means++', n_clusters=n_digits, n_init=1)\n",
    "kmeans.fit(reduced_data)\n",
    "\n",
    "# Step size of the mesh. Decrease to increase the quality of the VQ.\n",
    "h = .02     # point in the mesh [x_min, x_max]x[y_min, y_max].\n",
    "\n",
    "# Plot the decision boundary. For that, we will assign a color to each\n",
    "x_min, x_max = reduced_data[:, 0].min() - 1, reduced_data[:, 0].max() + 1\n",
    "y_min, y_max = reduced_data[:, 1].min() - 1, reduced_data[:, 1].max() + 1\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "# Obtain labels for each point in mesh. Use last trained model.\n",
    "Z = kmeans.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "\n",
    "# Put the result into a color plot\n",
    "Z = Z.reshape(xx.shape)\n",
    "plt.figure(1)\n",
    "plt.clf()\n",
    "plt.imshow(Z, interpolation='nearest',\n",
    "           extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n",
    "           cmap=plt.cm.Paired,\n",
    "           aspect='auto', origin='lower')\n",
    "\n",
    "plt.plot(reduced_data[:, 0], reduced_data[:, 1], 'k.', markersize=2)\n",
    "# Plot the centroids as a white X\n",
    "centroids = kmeans.cluster_centers_\n",
    "plt.scatter(centroids[:, 0], centroids[:, 1],\n",
    "            marker='x', s=169, linewidths=3,\n",
    "            color='w', zorder=10)\n",
    "plt.title('K-means clustering on the packets dataset (PCA-reduced data)\\n'\n",
    "          'Centroids are marked with white cross')\n",
    "plt.xlim(x_min, x_max)\n",
    "plt.ylim(y_min, y_max)\n",
    "plt.xticks(())\n",
    "plt.yticks(())\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Evaluate and Compare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Ref:\n",
    "(a)http://scikit-learn.org/stable/modules/generated/sklearn.metrics.homogeneity_score.html\n",
    "    score between 0.0 and 1.0. 1.0 stands for perfectly homogeneous labeling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Visualize Results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "    Can we visualize a data set with this many features?\n",
    "    Can we visualize on the attack categories?\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Summarize the Ramifications"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Deployment"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Resuse from Lab 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- *Be critical of your performance and tell the reader how you current model might be usable by other parties. Did you achieve your goals? If not, can you reign in the utility of your modeling?*\n",
    "- *How useful is your model for interested parties (i.e., the companies or organizations that might want to use it)?*\n",
    "- *How would your deploy your model for interested parties?*\n",
    "- *What other data should be collected?*\n",
    "- *How often would the model need to be updated, etc.?*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exceptional Work"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
